From 2af1532b8f841a354f6b317046181c204153c9e5 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Wed, 20 Aug 2014 05:33:40 -0700 Subject: [PATCH 001/148] Added CAT carousel --- index.html | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/index.html b/index.html index 40ccd21..865e70e 100644 --- a/index.html +++ b/index.html @@ -153,6 +153,37 @@

Join your Customer

If you like today's workshop, I promise, you'll love Customer Acquisition Teams.

They were made for founders practicing Customer Development, just like you.

Deadline: Aug. 29th

+ + + @@ -183,6 +214,10 @@

Deadline: Aug. 29th function init() { firstName = getParameterByName('firstName'); + $('.carousel').carousel({ + interval: 5000 + }); + if (firstName == null) { initModal(); return; From 721af73ef09111b8697d86a2b921eb4da4ab2b9f Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Thu, 21 Aug 2014 00:41:16 -0700 Subject: [PATCH 002/148] Point to edited video --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 865e70e..f6eedb1 100644 --- a/index.html +++ b/index.html @@ -111,7 +111,7 @@

Bad Ass Customer Interviews...Live!

Live Stream

- +
From ca2b805263d0678e8efbd8371f9fc6afe727a4fd Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Thu, 23 Oct 2014 10:42:46 -0700 Subject: [PATCH 003/148] Changes for Lean Conf --- index.html | 55 ++++++++---------------------------------------------- 1 file changed, 8 insertions(+), 47 deletions(-) diff --git a/index.html b/index.html index f6eedb1..76fda06 100644 --- a/index.html +++ b/index.html @@ -33,10 +33,14 @@ + + + + + @@ -86,16 +55,15 @@
@@ -103,477 +71,703 @@ -
- -
- -
-
-

Live Stream

- -
+
--> + +
+
+ Interviewing Customers...the Right Way with Justin Wilcox +
+ +
+
+
+
+
-
-
-

Looking for a partner for you...

- +
+
+
+

Questions: Ask and upvote.

- -
-
-
-

Interview Questions

- This notepad is shared with your Workshop Partner. -
+
+
    -
    -

    Interview Responses

    - This notepad is shared with your Workshop Partner. -
    + +
    -
    -
    -

    Chat with your Partner or Everyone

    -

    Use the tabs below to switch between chatting with your partner and everyone in the workshop.

    +
    +
    +
    +

    Chat: Looking for a partner for you...

    +
    +
    +
    +
    +
    + +
    -
    -
    -

    Want a faster, better Customer Development?

    -
    -

    Join your Customer Acquisition Team!

    -

    Weekly, collaborative, Lean Startup meetings that provide:

    - -

    If you like today's workshop, I promise, you'll love Customer Acquisition Teams.

    -

    They were made for founders practicing Customer Development, just like you.

    -

    Deadline: Aug. 29th

    - - -
    +
    + +
    +
    +
    + +
    +
    + + + +
    +
    + +
    +
    +

    How likely would you be to recommend this workshop to a friend?

    +
    +
    +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    +

    What's one thing we can improve next time?

    +
    +
    + +
    +
    - - - - - - - +
    +
    +

    What was your favorite part of the workshop?

    +
    +
    + +
    + +
    + +
    - +
    +
    +
    -
    -
    + +
    + - - - diff --git a/questions/bootbox.min.js b/questions/bootbox.min.js new file mode 100644 index 0000000..0dc0cbd --- /dev/null +++ b/questions/bootbox.min.js @@ -0,0 +1,6 @@ +/** + * bootbox.js v4.4.0 + * + * http://bootboxjs.com/license.txt + */ +!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d.call(c,a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"",header:"",footer:"",closeButton:"",form:"
    ",inputs:{text:"",textarea:"",email:"",select:"",checkbox:"
    ",date:"",time:"",number:"",password:""}},o={locale:"en",backdrop:"static",animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback.call(this):!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,!1)},a.buttons.confirm.callback=function(){return a.callback.call(this,!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback.call(this,c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!b.isArray(k))throw new Error("Please pass an array of input options");if(!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("").attr("label",d.group)),e=o[d.group]),e.append("")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("
    "),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),a.maxlength&&h.attr("maxlength",a.maxlength),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var d=b(n.dialog),f=d.find(".modal-dialog"),i=d.find(".modal-body"),j=a.buttons,k="",l={onEscape:a.onEscape};if(b.fn.modal===c)throw new Error("$.fn.modal is not defined; please double check you have included the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ for more details.");if(g(j,function(a,b){k+="",l[a]=b.callback}),i.find(".bootbox-body").html(a.message),a.animate===!0&&d.addClass("fade"),a.className&&d.addClass(a.className),"large"===a.size?f.addClass("modal-lg"):"small"===a.size&&f.addClass("modal-sm"),a.title&&i.before(n.header),a.closeButton){var m=b(n.closeButton);a.title?d.find(".modal-header").prepend(m):m.css("margin-top","-10px").prependTo(i)}return a.title&&d.find(".modal-title").html(a.title),k.length&&(i.after(n.footer),d.find(".modal-footer").html(k)),d.on("hidden.bs.modal",function(a){a.target===this&&d.remove()}),d.on("shown.bs.modal",function(){d.find(".btn-primary:first").focus()}),"static"!==a.backdrop&&d.on("click.dismiss.bs.modal",function(a){d.children(".modal-backdrop").length&&(a.currentTarget=d.children(".modal-backdrop").get(0)),a.target===a.currentTarget&&d.trigger("escape.close.bb")}),d.on("escape.close.bb",function(a){l.onEscape&&e(a,d,l.onEscape)}),d.on("click",".modal-footer button",function(a){var c=b(this).data("bb-handler");e(a,d,l[c])}),d.on("click",".bootbox-close-button",function(a){e(a,d,l.onEscape)}),d.on("keyup",function(a){27===a.which&&d.trigger("escape.close.bb")}),b(a.container).append(d),d.modal({backdrop:a.backdrop?"static":!1,keyboard:!1,show:!1}),a.show&&d.modal("show"),d},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={bg_BG:{OK:"Ок",CANCEL:"Отказ",CONFIRM:"Потвърждавам"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fa:{OK:"قبول",CANCEL:"لغو",CONFIRM:"تایید"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},hu:{OK:"OK",CANCEL:"Mégsem",CONFIRM:"Megerősít"},hr:{OK:"OK",CANCEL:"Odustani",CONFIRM:"Potvrdi"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sq:{OK:"OK",CANCEL:"Anulo",CONFIRM:"Prano"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},th:{OK:"ตกลง",CANCEL:"ยกเลิก",CONFIRM:"ยืนยัน"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.addLocale=function(a,c){return b.each(["OK","CANCEL","CONFIRM"],function(a,b){if(!c[b])throw new Error("Please supply a translation for '"+b+"'")}),q[a]={OK:c.OK,CANCEL:c.CANCEL,CONFIRM:c.CONFIRM},p},p.removeLocale=function(a){return delete q[a],p},p.setLocale=function(a){return p.setDefaults("locale",a)},p.init=function(c){return a(c||b)},p}); \ No newline at end of file diff --git a/questions/bootstrap.min.js b/questions/bootstrap.min.js new file mode 100644 index 0000000..c6d3692 --- /dev/null +++ b/questions/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(' + + +
    + + + + + + + diff --git a/simple.html b/simple.html new file mode 100644 index 0000000..da0b98d --- /dev/null +++ b/simple.html @@ -0,0 +1,774 @@ + + + + + Bad Ass Customer Interviews...Live! | Customer Development Labs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + Interviewing Customers...the Right Way with Justin Wilcox +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +

    Questions: Ask and upvote.

    +
    +
    +
      +
      + +
      +
      +
      +
      +
      +

      Chat: Looking for a partner for you...

      +
      +
      +
      +
      +
      +
      +
      + + +
      +
      +
      +
      +
      + +
      + + +
      +
      + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Please, introduce yourself......and meet your partner, !
      +
      + Where do you live? + +
      +
      +
      lives in:
      +
      +
      +
      + What's your company name? + +
      +
      +
      's company is:
      +
      +
      +
      + What's your company's website? + +
      +
      +
      's website is at:
      +
      +
      +
      + Who are your target customers? + +
      +
      +
      is serving:
      +
      +
      +
      + What problem do you want to solve for them? + +
      +
      +
      is helping them:
      +
      +
      +
      + What do you hope to get out of this workshop? + +
      +
      +
      is in this workshop to:
      +
      +
      +
      + What's your LinkedIn or Twitter profile? + +
      +
      +
      More about :
      +
      +
      + Ask more questions in your private chat window. +
      +
      +
      +
      + + + +
      +
      +
      +
      +
      +

      Interview Questions:

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +

      Customer Responses:

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + + + +
      +
      + Share your Skype username with in the chat room. Then interview each other! +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Ask these questions:Listen for:
      +
      + What's the biggest challenge you're facing as a founder? +
      +
      +
      + Anything to dig into. +
      +
      +
      + When was the last time you tried to solve that problem? +
      +
      +
      + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

      + If not, start over asking about a different challenge. +
      +
      +
      + Can you tell me about the last time that problem happened? +
      +
      +
      + Opportunities to clarify - this is your chance to ask "dumb" questions.

      + Phrases and jargon you can turn into marketing copy.

      +
      +
      +
      + Why is it a problem for you? +
      +
      +
      + The real problem they're trying to solve.

      + Emotions you can evoke in your marketing copy.

      +
      +
      +
      + Are you looking for alternative solutions? If yes, why? +
      +
      +
      + No? They're not early adopters yet. Start again.

      + Yes? This is how to differentiate your solution from the competition.

      +
      +
      +
      + +
      +
      + + + +
      + +
      +
      +
      +

      Interview Script Creator

      +
      +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Your Interview Script (repeat 2-3 times):Listen for:
      +
      + What's the biggest challenge you're facing as a CUSTOMER ROLE? +
      +
      +
      + Anything to dig into. +
      +
      +
      + When was the last time you tried to solve that problem? +
      +
      +
      + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

      + If not, start over asking about a different challenge. +
      +
      +
      + Can you tell me about the last time that problem happened? +
      +
      +
      + Opportunities to clarify - this is your chance to ask "dumb" questions.

      + Phrases and jargon you can turn into marketing copy.

      +
      +
      +
      + Why is it a problem for you? +
      +
      +
      + The real problem they're trying to solve.

      + Emotions you can evoke in your marketing copy.

      +
      +
      +
      + Are you looking for alternative solutions? If yes, why? +
      +
      +
      + No? They're not early adopters yet. Start again.

      + Yes? This is how to differentiate your solution from the competition.

      +
      +
      +
      + No mention of the problem you hoped? +
      +
      +
      + What's the biggest challenge you're facing as a CUSTOMER ROLE with respect to PROBLEM CONTEXT? +
      +
      +
      + Note: Pay extra close attention to how recently they've looked for a solution. +
      +
      +
      + Bonus Questions +
      +
      +
      + How did you find out about the solution you're trying now? +
      +
      +
      + Your marketing channels. +
      +
      +
      + I'm actually exploring a solution to the      [Insert their Problem]       problem. Can I contact you if we find a viable solution? +
      +
      +
      + Contact information, in case you end up solving their problem. +
      +
      +
      + Do you know 1 or 2 other people who are struggling with      [Insert their Problem]       problem I could talk to? +
      +
      +
      + More customer interviews. +
      +
      +
      + How much money are you spending to try and solve this problem now? +
      +
      +
      + A potential anchor price. +
      +
      +
      + How often do you encounter this problem? +
      +
      +
      + How often they might use your solution. +
      +
      +
      + +
      +
      + + + +
      +
      +
      +
      +

      Bonus #1

      +
      +
      +
      +

      + $50 Customer Interview Email Course
      + FREE +

      +
      + You'll learn... +
        +
      • Which customers to ask for interviews
      • +
      • A cold email script that works to get interviews
      • +
      • How to analyze your interview answers
      • +
      +

      Plus: Get free Customer Discovery Ninja coupon codes.

      +
      + +
      +
      +
      +

      Bonus #2

      +
      +
      +
      +

      FOCUS Framework Pre-Order

      + +
      + +
      +
      + Step by step instructions on:

      + What to test
      + When to test
      + How to test
      + + +
      +
      +
      Use coupon code "FounderInstitute" by March 13th for:
      +
        +
      • 25% off
      • +
      • Early access to chapters
      • +
      + Check out the FOCUS Framework. +
      + +
      + +
      +
      +
      + +
      +
      + + + +
      +
      + +
      +
      +

      How likely would you be to recommend this workshop to a friend?

      +
      +
      +
      +
      + + + + + + + + + + + +
      +
      +
      + +
      + +
      +
      +

      What's one thing we can improve next time?

      +
      +
      + +
      +
      + +
      +
      +

      What was your favorite part of the workshop?

      +
      +
      + +
      + +
      + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + + + + + diff --git a/webshops.js b/webshops.js new file mode 100644 index 0000000..b2cddc0 --- /dev/null +++ b/webshops.js @@ -0,0 +1,978 @@ +var firebaseRoot = "https://intense-fire-4297.firebaseio.com"; + +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); + +var loggedInUserId; +var questionPad, responsePad; + +const PUBLIC_CHAT_ROOM_ID = '-Jjq8UELEwXO3DCHU170'; +var publicChat; + +var firstName = null; +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function init() { + firstName = getParameterByName('firstName'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null) { + initModal(); + return; + } + + publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper")); + publicChat.maxLengthMessage = 1024; + + publicChat.on('room-enter', function() { + stylizeChatRooms(); + }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, true); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function() { + updateMyInfo($(this)); + }); + + initEnrollForm(); + keepTabsOnTabs(); + setupInterviewScriptGenerator(); + setupFeedbackForm(); + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function() { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function() { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function(event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({email: $('#enrollEmail').val()}); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function(obj) { + var exerciseName = $(this).parents(".tabContent").attr("id").replace('TabContent', ''); + + exercisesRef.child(exerciseName).update({show: true}); + exercisesRef.child("active").update({exercise: exerciseName}); + }); + + $(".showTabButton").click(function(obj) { + var exerciseName = $(this).parents(".tabContent").attr("id").replace('TabContent', ''); + + exercisesRef.child(exerciseName).update({show: true}); + }); + + $(".hideTabButton").click(function(obj) { + var exerciseName = $(this).parents(".tabContent").attr("id").replace('TabContent', ''); + + exercisesRef.child(exerciseName).update({show: false}); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each( function(index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(DEFAULT_ACTIVE_TAB.replace("Tab", '')).set(active); + exercisesRef.child("active").set({exercise: DEFAULT_ACTIVE_TAB.replace("Tab", '')}); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function(exercisesSnap) { + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each( function(index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + //toBeActive.css("background-color", "#E0EBFF"); + toBeActive.addClass('currentExercise'); + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.id).once('value', function(snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function(snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + } + } + }); + + $( "#welcomeForm" ).submit(function(event) { + firstName = $("#attendeeName").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function() { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function logInToChat(chatRef, chatUI, roomId, getPartner) { + var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { + if (user) { + loggedInUserId = user.id; + + user.firstName = firstName; + chatUI.setUser(user.id, firstName); + + if (roomId != null) { + setTimeout(function() { + chatUI._chat.enterRoom(roomId); + }, 500); + } + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.id; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function(snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
    • "); + var divmediabody = $("
      "); + var divmedia = $("
      "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Unvote" : "Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
      "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
      " + userNameElement + "
      " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-danger'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-info'); + } + else { + divmediabody2.addClass('bg-warning'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + + } else { + simpleLogin.login('anonymous', { + rememberMe: true + }); + } + }); +} + +function loadFirepads(user, addDefaultText) { + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


      You'll see what your partner types, as she/he does.


      Delete this intro once you and your partner have read it." : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


      (Delete this too :)" : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(user.id, ""); + + attendeesRef.child(user.id).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.id).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.id).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.id; + user.responsesPad = "r-" + user.id; + + // store my pad addresses + attendeesRef.child(user.id).update(user); + + loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.id) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.id).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.id.localeCompare(solo.id) < 0) { + partnership = user.id + solo.id; + } + else { + partnership = solo.id + user.id; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.id, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.id).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.id).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.id).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.id); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.id).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} From 4e3042b3e8598614265532d5d5baed294f1a26ca Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Tue, 10 Mar 2015 16:06:39 -0700 Subject: [PATCH 011/148] Point to correct firebase --- webshops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webshops.js b/webshops.js index b2cddc0..fbb5794 100644 --- a/webshops.js +++ b/webshops.js @@ -1,4 +1,4 @@ -var firebaseRoot = "https://intense-fire-4297.firebaseio.com"; +var firebaseRoot = "https://cdlwebshops.firebaseio.com"; var publicChatRef = new Firebase(firebaseRoot); var firepadRef = new Firebase(firebaseRoot + "/firepads"); From 373561cfc5f6e025f96ad2bc32d3144155fb1dbb Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Tue, 10 Mar 2015 16:07:41 -0700 Subject: [PATCH 012/148] Update page title --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index da0b98d..fea5287 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - Bad Ass Customer Interviews...Live! | Customer Development Labs + Customer Interviews...the Right Way! | Customer Development Labs From e605fb3975dbd4554dc018dcb0bf5d2db9c49587 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Tue, 10 Mar 2015 16:10:25 -0700 Subject: [PATCH 013/148] Fixed correct public chat room --- webshops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webshops.js b/webshops.js index fbb5794..bd3e83b 100644 --- a/webshops.js +++ b/webshops.js @@ -14,7 +14,7 @@ var feedbackRef = new Firebase(firebaseRoot + "/feedback"); var loggedInUserId; var questionPad, responsePad; -const PUBLIC_CHAT_ROOM_ID = '-Jjq8UELEwXO3DCHU170'; +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; var publicChat; var firstName = null; From b7602191a9a39d414a7401d47b77cd439ee83fbe Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Thu, 23 Apr 2015 13:39:49 -0700 Subject: [PATCH 014/148] Adding link to interview generator and adding FI seattle hangout link --- index.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index fea5287..0e70c42 100644 --- a/index.html +++ b/index.html @@ -91,7 +91,7 @@

      ...the Right Way

      - +
      @@ -146,6 +146,7 @@

      Chat: Look
    • Live Interview
    • You Try It
    • Your Interview Script
    • +
    • Interview Script Generator
    • Bonuses
    • Feedback
    • @@ -418,6 +419,16 @@

      Customer Responses:

      +
      +
      + + + +
      + + Click here:to Generate your Interview Script +
      +
      From 1614f49dcea0bb253b3fa80ccac331ddf372c1e9 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Thu, 23 Apr 2015 13:40:28 -0700 Subject: [PATCH 015/148] Moving changes to simple/admin page --- simple.html | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/simple.html b/simple.html index da0b98d..0e70c42 100644 --- a/simple.html +++ b/simple.html @@ -2,7 +2,7 @@ - Bad Ass Customer Interviews...Live! | Customer Development Labs + Customer Interviews...the Right Way! | Customer Development Labs @@ -91,7 +91,7 @@

      ...the Right Way

      - +
      @@ -146,6 +146,7 @@

      Chat: Look
    • Live Interview
    • You Try It
    • Your Interview Script
    • +
    • Interview Script Generator
    • Bonuses
    • Feedback
    • @@ -418,6 +419,16 @@

      Customer Responses:

      +
      +
      + + + +
      + + Click here:to Generate your Interview Script +
      +
      From f8dd9b97771067a36fb181f0ad51fa29193f360a Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Wed, 4 Nov 2015 16:12:29 -0800 Subject: [PATCH 016/148] Submitting tec version --- admin.html | 302 +++++++++++++ bootstrap.min.css | 7 - bootstrap.min.js | 7 - css/style.css | 4 + fail.html | 895 ++++++++++++++++++++++++++++++++++++++ simple.html | 297 ++++++++----- simple_prev.html | 785 ++++++++++++++++++++++++++++++++++ tec.html | 892 ++++++++++++++++++++++++++++++++++++++ tec.js | 1044 +++++++++++++++++++++++++++++++++++++++++++++ webshops.js | 13 + 10 files changed, 4137 insertions(+), 109 deletions(-) create mode 100644 admin.html delete mode 100644 bootstrap.min.css delete mode 100644 bootstrap.min.js create mode 100644 fail.html create mode 100644 simple_prev.html create mode 100644 tec.html create mode 100644 tec.js diff --git a/admin.html b/admin.html new file mode 100644 index 0000000..467cac7 --- /dev/null +++ b/admin.html @@ -0,0 +1,302 @@ + + + + + Bad Ass Customer Interviews...Live! | Customer Development Labs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Welcome to...

      +
      +

      Interviewing your Customers

      +

      ...the Right Way

      +
      +

      By Customer Development Labs

      +
      +
      +
      + +
      +
      +

      Live Stream

      + +
      +
      +

      Questions

      +
      +
      +
        +
        + +
        +
        +
        +
        +
        +

        Looking for a partner for you...

        + +
        +
        + +
        + +
        +
        +
        +

        Excercises

        +
        + +
        +
        +
        + + + +
        + +

        Who's here?

        +
        +
        +
        + Stats +
        +
        + Map +
        +
        +
        +
        +
        +
        + + + +
        + +

        Notes and Takeaways

        +
        +
        +
        +

        Your Private Notepad

        +

        Take any notes you like here. They won't be shared with your partner

        + +
        +
        +

        Live Interview Takeaway:

        +

        Interview Practice Takeaway:

        +

        Overall Takeaway(s):

        +
        +
        +
        +
        +
        +
        + + + +
        + +

        Meet your Partner

        +
        +
        +
        +

        Where do you live?

        +

        What's your company name?

        +

        Do you have a company website?

        +

        Who are your target customers?

        +

        What problem will you solve for them?

        +

        What do you hope to get out of this workshop?

        +

        Do you have a LinkedIn or Twitter profile?

        +
        +
        +

        Your partner lives in:

        +

        Your partner's company is:

        +

        The URL is:

        +

        Your partner's is serving:

        +

        Helping them:

        +

        Your partner is here to:

        +

        More about them is here:

        +
        +
        +
        +
        +
        +
        + + + +
        + +
        +
        +
        +

        Interview Questions

        + This notepad is shared with your Workshop Partner. +
        +
        +
        +

        Interview Responses

        + This notepad is shared with your Workshop Partner. +
        +
        +
        +
        +

        Where do you live?

        +
        +
        +
        + +
        +
        + + +
        +
        +

        Chat

        +

        Use the tabs below to switch between chatting with your partner and everyone.

        +
        +
        +
        + + +
        + + + + diff --git a/bootstrap.min.css b/bootstrap.min.css deleted file mode 100644 index 69aa8b6..0000000 --- a/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -@import url("http://fonts.googleapis.com/css?family=Lato:400,700,400italic");/*! - * Bootswatch v3.2.0 - * Homepage: http://bootswatch.com - * Copyright 2012-2014 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.table td,.table th{background-color:#fff !important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.42857143;color:#2c3e50;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#18bc9c;text-decoration:none}a:hover,a:focus{color:#18bc9c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #ecf0f1;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;width:100% \9;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #ecf0f1}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#b4bcc2}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}cite{font-style:normal}mark,.mark{background-color:#f39c12;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#b4bcc2}.text-primary{color:#2c3e50}a.text-primary:hover{color:#1a242f}.text-success{color:#ffffff}a.text-success:hover{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover{color:#e6e6e6}.bg-primary{color:#fff;background-color:#2c3e50}a.bg-primary:hover{background-color:#1a242f}.bg-success{background-color:#18bc9c}a.bg-success:hover{background-color:#128f76}.bg-info{background-color:#3498db}a.bg-info:hover{background-color:#217dbb}.bg-warning{background-color:#f39c12}a.bg-warning:hover{background-color:#c87f0a}.bg-danger{background-color:#e74c3c}a.bg-danger:hover{background-color:#d62c1a}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid transparent}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #b4bcc2}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #ecf0f1}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#b4bcc2}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #ecf0f1;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#7b8a8b;background-color:#ecf0f1;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ecf0f1}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ecf0f1}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ecf0f1}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ecf0f1}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ecf0f1}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ecf0f1}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#ecf0f1}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#dde4e6}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#18bc9c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#15a589}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#3498db}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#258cd1}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#f39c12}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#e08e0b}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#e74c3c}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#e43725}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ecf0f1;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#2c3e50;border:0;border-bottom:1px solid transparent}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:11px;font-size:15px;line-height:1.42857143;color:#2c3e50}.form-control{display:block;width:100%;height:43px;padding:10px 15px;font-size:15px;line-height:1.42857143;color:#2c3e50;background-color:#ffffff;background-image:none;border:1px solid #dce4ec;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#2c3e50;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(44,62,80,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(44,62,80,0.6)}.form-control::-moz-placeholder{color:#acb6c0;opacity:1}.form-control:-ms-input-placeholder{color:#acb6c0}.form-control::-webkit-input-placeholder{color:#acb6c0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#ecf0f1;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:43px;line-height:1.42857143 \0}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm{line-height:33px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg{line-height:64px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:21px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:11px;padding-bottom:11px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:33px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-sm{height:33px;line-height:33px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:64px;padding:18px 27px;font-size:19px;line-height:1.33;border-radius:6px}select.input-lg{height:64px;line-height:64px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:53.75px}.form-control-feedback{position:absolute;top:26px;right:0;z-index:2;display:block;width:43px;height:43px;line-height:43px;text-align:center}.input-lg+.form-control-feedback{width:64px;height:64px;line-height:64px}.input-sm+.form-control-feedback{width:33px;height:33px;line-height:33px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#18bc9c}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#f39c12}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#e74c3c}.has-error .form-control-feedback{color:#ffffff}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#597ea2}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:11px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:11px}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:24.94px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:7px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:10px 15px;font-size:15px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#ffffff;background-color:#95a5a6;border-color:#95a5a6}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#798d8f;border-color:#74898a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#95a5a6;border-color:#95a5a6}.btn-default .badge{color:#95a5a6;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#1a242f;border-color:#161f29}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2c3e50;border-color:#2c3e50}.btn-primary .badge{color:#2c3e50;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#18bc9c;border-color:#18bc9c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#128f76;border-color:#11866f}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#18bc9c;border-color:#18bc9c}.btn-success .badge{color:#18bc9c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#3498db;border-color:#3498db}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#217dbb;border-color:#2077b2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#3498db;border-color:#3498db}.btn-info .badge{color:#3498db;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#c87f0a;border-color:#be780a}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f39c12;border-color:#f39c12}.btn-warning .badge{color:#f39c12;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#d62c1a;border-color:#cd2a19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#e74c3c;border-color:#e74c3c}.btn-danger .badge{color:#e74c3c;background-color:#ffffff}.btn-link{color:#18bc9c;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#18bc9c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#b4bcc2;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:18px 27px;font-size:19px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#7b8a8b;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#2c3e50}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2c3e50}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#b4bcc2}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#b4bcc2;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0)}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:64px;padding:18px 27px;font-size:19px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:64px;line-height:64px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:33px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:33px;line-height:33px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:10px 15px;font-size:15px;font-weight:normal;line-height:1;color:#2c3e50;text-align:center;background-color:#ecf0f1;border:1px solid #dce4ec;border-radius:4px}.input-group-addon.input-sm{padding:6px 9px;font-size:13px;border-radius:3px}.input-group-addon.input-lg{padding:18px 27px;font-size:19px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ecf0f1}.nav>li.disabled>a{color:#b4bcc2}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#b4bcc2;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#ecf0f1;border-color:#18bc9c}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ecf0f1}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#ecf0f1 #ecf0f1 #ecf0f1}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#2c3e50;background-color:#ffffff;border:1px solid #ecf0f1;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ecf0f1}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ecf0f1;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2c3e50}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ecf0f1}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ecf0f1;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:60px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:19.5px 15px;font-size:19px;line-height:21px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:9.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:19.5px;padding-bottom:19.5px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8.5px;margin-bottom:8.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8.5px;margin-bottom:8.5px}.navbar-btn.btn-sm{margin-top:13.5px;margin-bottom:13.5px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:19.5px;margin-bottom:19.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#2c3e50;border-color:transparent}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#1a242f}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#1a242f}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#1a242f}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#1a242f;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#1a242f}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#18bc9c}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#18bc9c}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#18bc9c;border-color:transparent}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#15a589}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#128f76}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#128f76}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#149c82}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#15a589;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#15a589}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#2c3e50}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#2c3e50}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#ecf0f1;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#95a5a6}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:10px 15px;line-height:1.42857143;text-decoration:none;color:#ffffff;background-color:#18bc9c;border:1px solid transparent;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#ffffff;background-color:#0f7864;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#0f7864;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#ecf0f1;background-color:#3be6c4;border-color:transparent;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:18px 27px;font-size:19px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:6px 9px;font-size:13px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#18bc9c;border:1px solid transparent;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#0f7864}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#ffffff;background-color:#18bc9c;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#95a5a6}.label-default[href]:hover,.label-default[href]:focus{background-color:#798d8f}.label-primary{background-color:#2c3e50}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1a242f}.label-success{background-color:#18bc9c}.label-success[href]:hover,.label-success[href]:focus{background-color:#128f76}.label-info{background-color:#3498db}.label-info[href]:hover,.label-info[href]:focus{background-color:#217dbb}.label-warning{background-color:#f39c12}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c87f0a}.label-danger{background-color:#e74c3c}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d62c1a}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#2c3e50;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2c3e50;background-color:#ffffff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#ecf0f1}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#cfd9db}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:67.5px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.42857143;background-color:#ffffff;border:1px solid #ecf0f1;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#18bc9c}.thumbnail .caption{padding:9px;color:#2c3e50}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#18bc9c;border-color:#18bc9c;color:#ffffff}.alert-success hr{border-top-color:#15a589}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#3498db;border-color:#3498db;color:#ffffff}.alert-info hr{border-top-color:#258cd1}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f39c12;border-color:#f39c12;color:#ffffff}.alert-warning hr{border-top-color:#e08e0b}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#ffffff}.alert-danger hr{border-top-color:#e43725}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#ecf0f1;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#2c3e50;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{color:#b4bcc2;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}.progress-bar-success{background-color:#18bc9c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#3498db}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f39c12}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#e74c3c}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #ecf0f1}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555555}a.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555555;background-color:#ecf0f1}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#ecf0f1;color:#b4bcc2}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#b4bcc2}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#8aa4be}.list-group-item-success{color:#ffffff;background-color:#18bc9c}a.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#ffffff;background-color:#15a589}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#3498db}a.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#ffffff;background-color:#258cd1}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#f39c12}a.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#ffffff;background-color:#e08e0b}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#e74c3c}a.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#ffffff;background-color:#e43725}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#ecf0f1;border-top:1px solid #ecf0f1;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ecf0f1}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ecf0f1}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ecf0f1}.panel-default{border-color:#ecf0f1}.panel-default>.panel-heading{color:#2c3e50;background-color:#ecf0f1;border-color:#ecf0f1}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ecf0f1}.panel-default>.panel-heading .badge{color:#ecf0f1;background-color:#2c3e50}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ecf0f1}.panel-primary{border-color:#2c3e50}.panel-primary>.panel-heading{color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2c3e50}.panel-primary>.panel-heading .badge{color:#2c3e50;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2c3e50}.panel-success{border-color:#18bc9c}.panel-success>.panel-heading{color:#ffffff;background-color:#18bc9c;border-color:#18bc9c}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#18bc9c}.panel-success>.panel-heading .badge{color:#18bc9c;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#18bc9c}.panel-info{border-color:#3498db}.panel-info>.panel-heading{color:#ffffff;background-color:#3498db;border-color:#3498db}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3498db}.panel-info>.panel-heading .badge{color:#3498db;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3498db}.panel-warning{border-color:#f39c12}.panel-warning>.panel-heading{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f39c12}.panel-warning>.panel-heading .badge{color:#f39c12;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f39c12}.panel-danger{border-color:#e74c3c}.panel-danger>.panel-heading{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e74c3c}.panel-danger>.panel-heading .badge{color:#e74c3c;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e74c3c}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#ecf0f1;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#000000;text-shadow:none;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate3d(0, -25%, 0);transform:translate3d(0, -25%, 0);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-size:13px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:rgba(0,0,0,0.9);border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:rgba(0,0,0,0.9)}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:rgba(0,0,0,0.9)}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:rgba(0,0,0,0.9)}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:rgba(0,0,0,0.9)}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:rgba(0,0,0,0.9)}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:rgba(0,0,0,0.9)}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:rgba(0,0,0,0.9)}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:rgba(0,0,0,0.9)}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border-width:0}.navbar-default .badge{background-color:#fff;color:#2c3e50}.navbar-inverse .badge{background-color:#fff;color:#18bc9c}.navbar-brand{padding:18.5px 15px 20.5px}.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.text-primary,.text-primary:hover{color:#2c3e50}.text-success,.text-success:hover{color:#18bc9c}.text-danger,.text-danger:hover{color:#e74c3c}.text-warning,.text-warning:hover{color:#f39c12}.text-info,.text-info:hover{color:#3498db}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success a,.table .success a,table .warning a,.table .warning a,table .danger a,.table .danger a,table .info a,.table .info a{color:#fff}table>thead>tr>th,.table>thead>tr>th,table>tbody>tr>th,.table>tbody>tr>th,table>tfoot>tr>th,.table>tfoot>tr>th,table>thead>tr>td,.table>thead>tr>td,table>tbody>tr>td,.table>tbody>tr>td,table>tfoot>tr>td,.table>tfoot>tr>td{border:none}table-bordered>thead>tr>th,.table-bordered>thead>tr>th,table-bordered>tbody>tr>th,.table-bordered>tbody>tr>th,table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>th,table-bordered>thead>tr>td,.table-bordered>thead>tr>td,table-bordered>tbody>tr>td,.table-bordered>tbody>tr>td,table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ecf0f1}.form-control,input{border-width:2px;-webkit-box-shadow:none;box-shadow:none}.form-control:focus,input:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning .form-control-feedback{color:#f39c12}.has-warning .form-control,.has-warning .form-control:focus{border:2px solid #f39c12}.has-warning .input-group-addon{border-color:#f39c12}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error .form-control-feedback{color:#e74c3c}.has-error .form-control,.has-error .form-control:focus{border:2px solid #e74c3c}.has-error .input-group-addon{border-color:#e74c3c}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success .form-control-feedback{color:#18bc9c}.has-success .form-control,.has-success .form-control:focus{border:2px solid #18bc9c}.has-success .input-group-addon{border-color:#18bc9c}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.pager a,.pager a:hover{color:#fff}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{background-color:#3be6c4}.close{color:#fff;text-decoration:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert .alert-link{color:#fff;text-decoration:underline}.progress{height:10px;-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none}.panel-default .close{color:#2c3e50}.modal .close{color:#2c3e50}.popover{color:#2c3e50} \ No newline at end of file diff --git a/bootstrap.min.js b/bootstrap.min.js deleted file mode 100644 index c6d3692..0000000 --- a/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.2 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
      • "); + var divmediabody = $("
        "); + var divmedia = $("
        "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
        "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
        " + userNameElement + "
        " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-danger'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-info'); + } + else { + divmediabody2.addClass('bg-warning'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + + } else { + simpleLogin.login('anonymous', { + rememberMe: true + }); + } + }); +} + +function loadFirepads(user, addDefaultText) { + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


        You'll see what your partner types, as she/he does.


        Delete this intro once you and your partner have read it." : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


        (Delete this too :)" : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(user.id, ""); + + attendeesRef.child(user.id).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.id).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.id).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.id; + user.responsesPad = "r-" + user.id; + + // store my pad addresses + attendeesRef.child(user.id).update(user); + + loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.id) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.id).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.id.localeCompare(solo.id) < 0) { + partnership = user.id + solo.id; + } + else { + partnership = solo.id + user.id; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.id, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.id).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.id).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.id).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.id); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.id).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} diff --git a/webshops.js b/webshops.js index bd3e83b..e519a7a 100644 --- a/webshops.js +++ b/webshops.js @@ -314,6 +314,19 @@ function initModal() { message: 'We can do names between 2 and 20 characters' } } + }, + studentNum: { + message: "That's not your student number", + validators: { + notEmpty: { + message: 'We need your student number' + }, + stringLength: { + min: 6, + max: 10, + message: 'We need a number between 6 and 10 digits' + } + } } } }); From c87587e98db803651b6bcbba47c119b70ad13270 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Thu, 5 Nov 2015 00:19:08 -0800 Subject: [PATCH 017/148] Adding feedback and pitch practice tabs --- simple.html | 21 ++++++++++++++++++--- tec.html | 21 ++++++++++++++++++--- tec.js | 7 +++++-- 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/simple.html b/simple.html index 7e2dd96..6421b98 100644 --- a/simple.html +++ b/simple.html @@ -177,9 +177,10 @@

        Chat: Look
      • Meet your Partner
      • Seed Funding
      • Leaderboard
      • -
      • Pitch Competition
      • +
      • Pitch Practice
      • Series A
      • Series A: Answers
      • +
      • Feedback
      • Series B
      • Series B: Answers
      • - - - + + + - + + + + + + + + + + +
        +
        +
        Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
        +
        + +
        +
        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        +

        Questions: Ask and up vote.

        +
        +
        +
          +
          + +
          +
          +
          +
          +
          +
          + +
          +
          +
          +
          + +
          + + + +
          +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Please, introduce yourself......and meet your partner, !
          +
          + Where do you live? + +
          +
          +
          lives in:
          +
          +
          +
          + What year are you? + +
          +
          +
          's year:
          +
          +
          +
          + Do you have a Twitter, Instagram or Facebook page? + +
          +
          +
          Check out 's profile at:
          +
          +
          +
          + What's your major? + +
          +
          +
          's major is:
          +
          +
          +
          + What do you do for fun? + +
          +
          +
          For fun :
          +
          +
          + Ask more questions in your private chat window. +
          +
          + +
          +
          + + + + +
          +
          +
          + +
          +
          +
          + +
          +
          + + + + +
          +
          +
          + +
          +
          +
          + +
          +
          + + + + +
          +
          +
          + +
          +
          +
          + +
          +
          + + + + +
          +
          +
          + +
          +
          +
          + +
          +
          + + + + +
          +
          + Share your Skype username with in the chat room. Then interview each other! +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Ask these questions:Listen for:
          +
          + What's the biggest challenge you're facing as a founder? +
          +
          +
          + Anything to dig into. +
          +
          +
          + When was the last time you tried to solve that problem? +
          +
          +
          + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

          + If not, start over asking about a different challenge. +
          +
          +
          + Can you tell me about the last time that problem happened? +
          +
          +
          + Opportunities to clarify - this is your chance to ask "dumb" questions.

          + Phrases and jargon you can turn into marketing copy.

          +
          +
          +
          + Why is it a problem for you? +
          +
          +
          + The real problem they're trying to solve.

          + Emotions you can evoke in your marketing copy.

          +
          +
          +
          + Are you looking for alternative solutions? If yes, why? +
          +
          +
          + No? They're not early adopters yet. Start again.

          + Yes? This is how to differentiate your solution from the competition.

          +
          +
          +
          + +
          +
          + + + + +
          + + Click here:to Generate your Interview Script +
          + +
          +
          + + + + +
          + +
          +
          +
          +

          Interview Script Creator

          +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Your Interview Script (repeat 2-3 times):Listen for:
          +
          + What's the biggest challenge you're facing as a CUSTOMER ROLE? +
          +
          +
          + Anything to dig into. +
          +
          +
          + When was the last time you tried to solve that problem? +
          +
          +
          + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

          + If not, start over asking about a different challenge. +
          +
          +
          + Can you tell me about the last time that problem happened? +
          +
          +
          + Opportunities to clarify - this is your chance to ask "dumb" questions.

          + Phrases and jargon you can turn into marketing copy.

          +
          +
          +
          + Why is it a problem for you? +
          +
          +
          + The real problem they're trying to solve.

          + Emotions you can evoke in your marketing copy.

          +
          +
          +
          + Are you looking for alternative solutions? If yes, why? +
          +
          +
          + No? They're not early adopters yet. Start again.

          + Yes? This is how to differentiate your solution from the competition.

          +
          +
          +
          + No mention of the problem you hoped? +
          +
          +
          + What's the biggest challenge you're facing as a CUSTOMER ROLE with respect to PROBLEM CONTEXT? +
          +
          +
          + Note: Pay extra close attention to how recently they've looked for a solution. +
          +
          +
          + Bonus Questions +
          +
          +
          + How did you find out about the solution you're trying now? +
          +
          +
          + Your marketing channels. +
          +
          +
          + I'm actually exploring a solution to the      [Insert their Problem]       problem. Can I contact you if we find a viable solution? +
          +
          +
          + Contact information, in case you end up solving their problem. +
          +
          +
          + Do you know 1 or 2 other people who are struggling with      [Insert their Problem]       problem I could talk to? +
          +
          +
          + More customer interviews. +
          +
          +
          + How much money are you spending to try and solve this problem now? +
          +
          +
          + A potential anchor price. +
          +
          +
          + How often do you encounter this problem? +
          +
          +
          + How often they might use your solution. +
          +
          +
          + +
          +
          + + + + +
          +
          +
          +
          +

          Bonus #1

          +
          +
          +
          +

          + $50 Customer Interview Email Course
          + FREE +

          +
          + You'll learn... +
            +
          • Which customers to ask for interviews
          • +
          • A cold email script that works to get interviews
          • +
          • How to analyze your interview answers
          • +
          +

          Plus: Get free Customer Discovery Ninja coupon codes.

          +
          + +
          +
          +
          +

          Bonus #2

          +
          +
          +
          +

          FOCUS Framework Pre-Order

          + +
          + +
          +
          + Step by step instructions on:

          + What to test
          + When to test
          + How to test
          + + +
          +
          +
          Use coupon code "FounderInstitute" by March 13th for:
          +
            +
          • 25% off
          • +
          • Early access to chapters
          • +
          + Check out the FOCUS Framework. +
          + +
          + +
          +
          +
          + +
          +
          + + + + +
          +
          + +
          +
          +

          How likely would you be to recommend this workshop to a friend?

          +
          +
          +
          +
          + + + + + + + + + + + +
          +
          +
          + +
          + +
          +
          +

          What's one thing we can improve next time?

          +
          +
          + +
          +
          + +
          +
          +

          What was your favorite part of the workshop?

          +
          +
          + +
          + +
          + +
          +
          +
          +
          +
          +
          +
          + +
          + +
          + + + + + diff --git a/alex.js b/alex.js new file mode 100644 index 0000000..085fedf --- /dev/null +++ b/alex.js @@ -0,0 +1,1045 @@ +var firebaseRoot = "https://cdlwebshops.firebaseio.com"; + +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); + +var loggedInUserId; +var questionPad, responsePad; + +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +var publicChat; + +var firstName = null; +var studentNum = null; +var studentCampus = null; +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function init() { + firstName = getParameterByName('firstName'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null) { + initModal(); + return; + } + + publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper")); + publicChat.maxLengthMessage = 1024; + + publicChat.on('room-enter', function() { + stylizeChatRooms(); + }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, true); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function() { + updateMyInfo($(this)); + }); + + initEnrollForm(); + keepTabsOnTabs(); + setupInterviewScriptGenerator(); + setupFeedbackForm(); + setupQuizzes(); + + setupiFrames(); + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function() { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function() { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function(event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({email: $('#enrollEmail').val()}); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + exercisesRef.child("active").update({exercise: exerciseName}); + }); + + $(".showTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + }); + + $(".hideTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: false}); + }); + + $(".soloTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each( function(index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({exercise: tabName.replace("Tab", '')}); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function(exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each( function(index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.id).once('value', function(snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function(snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + studentNum: { + message: "That's not your student number", + validators: { + notEmpty: { + message: 'We need your student number' + }, + stringLength: { + min: 6, + max: 12, + message: 'We need a number between 6 and 12 digits' + } + } + }, + studentCampus: { + validators: { + notEmpty: { + message: 'Please select your campus.' + } + } + } + } + }); + + $( "#welcomeForm" ).submit(function(event) { + firstName = $("#attendeeName").val(); + studentNum = $("#studentNum").val(); + studentCampus = $("#studentCampus").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function() { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function logInToChat(chatRef, chatUI, roomId, getPartner) { + var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { + if (user) { + loggedInUserId = user.id; + + user.firstName = firstName; + chatUI.setUser(user.id, firstName); + + if (roomId != null) { + setTimeout(function() { + chatUI._chat.enterRoom(roomId); + }, 500); + } + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.id; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function(snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
        • "); + var divmediabody = $("
          "); + var divmedia = $("
          "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
          "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
          " + userNameElement + "
          " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-danger'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-info'); + } + else { + divmediabody2.addClass('bg-warning'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + + } else { + simpleLogin.login('anonymous', { + rememberMe: true + }); + } + }); +} + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


          You'll see what your partner types, as she/he does.


          Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


          (Delete this too :)" : ""); + + //questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
           
          Note: your partner will be able to see your text as you type it.
           
          Try editing this text!
           
           
          2. Secretly pick a company below to pitch:
           

          • AirBnB
          • Pampers (diapers)
          • Twitter
          • Facebook
          • Subway (sandwiches)
          • Instagram
          • Disney
          • SnapChat
          • Angry Birds (Rovio)
          • RedBull
           
          3. Fill out the pitch template for the company you're pitching:
           
          - Problem:
           
           
           
          - Solution:
           
           
           
          - Market:
           
           
           
          - Business Model:
           
           
           
          -------------------------------------------------------
           
          4. Guess which company your partner is pitching:
           
           
           
          5. Which elements of your partner's pitch could be improved? 
           
           
          " : ""); + //responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
           
          Note: your partner will be able to see your text as you type it.
           
          Try editing this text!
           
           
          2. Secretly pick a company below to pitch:
           
          • AirBnB
          • Pampers (diapers)
          • Twitter
          • Facebook
          • Subway (sandwiches)
          • Instagram
          • Disney
          • SnapChat
          • Angry Birds (Rovio)
          • RedBull
           
          3. Fill out the pitch template for the company you're pitching:
           
          - Problem:
           
           
           
          - Solution:
           
           
           
          - Market:
           
           
           
          - Business Model:
           
           
           
          -------------------------------------------------------
           
          4. Guess which company your partner is pitching:
           
           
           
          5. Which elements of your partner's pitch could be improved? 
           
           
          " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(user.id, ""); + + attendeesRef.child(user.id).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.id).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.id).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.id; + user.responsesPad = "r-" + user.id; + + // store my pad addresses + attendeesRef.child(user.id).update(user); + + loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.id) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.id).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.id.localeCompare(solo.id) < 0) { + partnership = user.id + solo.id; + } + else { + partnership = solo.id + user.id; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.id, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.id).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.id).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.id).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.id); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.id).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} diff --git a/simple.html b/simple.html index 171ea16..c86f435 100644 --- a/simple.html +++ b/simple.html @@ -40,7 +40,7 @@ - + + + + + + + + + + +
          +
          +
          Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
          +
          + +
          +
          +
          +
          +
          +
          + +
          +
          + +
          +
          +
          +

          Questions: Ask and up vote.

          +
          +
          +
            +
            + +
            +
            +
            +
            +
            +
            + +
            +
            +
            +
            + +
            + + + +
            +
            + + + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Please, introduce yourself......and meet your partner, !
            +
            + Where do you live? + +
            +
            +
            lives in:
            +
            +
            +
            + What year are you? + +
            +
            +
            's year:
            +
            +
            +
            + Do you have a Twitter, Instagram or Facebook page? + +
            +
            +
            Check out 's profile at:
            +
            +
            +
            + What's your major? + +
            +
            +
            's major is:
            +
            +
            +
            + What do you do for fun? + +
            +
            +
            For fun :
            +
            +
            + Ask more questions in your private chat window. +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            + Share your Skype username with in the chat room. Then interview each other! +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Ask these questions:Listen for:
            +
            + What's the biggest challenge you're facing as a founder? +
            +
            +
            + Anything to dig into. +
            +
            +
            + When was the last time you tried to solve that problem? +
            +
            +
            + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

            + If not, start over asking about a different challenge. +
            +
            +
            + Can you tell me about the last time that problem happened? +
            +
            +
            + Opportunities to clarify - this is your chance to ask "dumb" questions.

            + Phrases and jargon you can turn into marketing copy.

            +
            +
            +
            + Why is it a problem for you? +
            +
            +
            + The real problem they're trying to solve.

            + Emotions you can evoke in your marketing copy.

            +
            +
            +
            + Are you looking for alternative solutions? If yes, why? +
            +
            +
            + No? They're not early adopters yet. Start again.

            + Yes? This is how to differentiate your solution from the competition.

            +
            +
            +
            + +
            +
            + + + + +
            + + Click here:to Generate your Interview Script +
            + +
            +
            + + + + +
            + +
            +
            +
            +

            Interview Script Creator

            +
            +
            +
            +
            + +
            + +
            +
            +
            + +
            + +
            +
            +
            +
            +
            +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Your Interview Script (repeat 2-3 times):Listen for:
            +
            + What's the biggest challenge you're facing as a CUSTOMER ROLE? +
            +
            +
            + Anything to dig into. +
            +
            +
            + When was the last time you tried to solve that problem? +
            +
            +
            + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

            + If not, start over asking about a different challenge. +
            +
            +
            + Can you tell me about the last time that problem happened? +
            +
            +
            + Opportunities to clarify - this is your chance to ask "dumb" questions.

            + Phrases and jargon you can turn into marketing copy.

            +
            +
            +
            + Why is it a problem for you? +
            +
            +
            + The real problem they're trying to solve.

            + Emotions you can evoke in your marketing copy.

            +
            +
            +
            + Are you looking for alternative solutions? If yes, why? +
            +
            +
            + No? They're not early adopters yet. Start again.

            + Yes? This is how to differentiate your solution from the competition.

            +
            +
            +
            + No mention of the problem you hoped? +
            +
            +
            + What's the biggest challenge you're facing as a CUSTOMER ROLE with respect to PROBLEM CONTEXT? +
            +
            +
            + Note: Pay extra close attention to how recently they've looked for a solution. +
            +
            +
            + Bonus Questions +
            +
            +
            + How did you find out about the solution you're trying now? +
            +
            +
            + Your marketing channels. +
            +
            +
            + I'm actually exploring a solution to the      [Insert their Problem]       problem. Can I contact you if we find a viable solution? +
            +
            +
            + Contact information, in case you end up solving their problem. +
            +
            +
            + Do you know 1 or 2 other people who are struggling with      [Insert their Problem]       problem I could talk to? +
            +
            +
            + More customer interviews. +
            +
            +
            + How much money are you spending to try and solve this problem now? +
            +
            +
            + A potential anchor price. +
            +
            +
            + How often do you encounter this problem? +
            +
            +
            + How often they might use your solution. +
            +
            +
            + +
            +
            + + + + +
            +
            +
            +
            +

            Bonus #1

            +
            +
            +
            +

            + $50 Customer Interview Email Course
            + FREE +

            +
            + You'll learn... +
              +
            • Which customers to ask for interviews
            • +
            • A cold email script that works to get interviews
            • +
            • How to analyze your interview answers
            • +
            +

            Plus: Get free Customer Discovery Ninja coupon codes.

            +
            + +
            +
            +
            +

            Bonus #2

            +
            +
            +
            +

            FOCUS Framework Pre-Order

            + +
            + +
            +
            + Step by step instructions on:

            + What to test
            + When to test
            + How to test
            + + +
            +
            +
            Use coupon code "FounderInstitute" by March 13th for:
            +
              +
            • 25% off
            • +
            • Early access to chapters
            • +
            + Check out the FOCUS Framework. +
            + +
            + +
            +
            +
            + +
            +
            + + + + +
            +
            + +
            +
            +

            How likely would you be to recommend this workshop to a friend?

            +
            +
            +
            +
            + + + + + + + + + + + +
            +
            +
            + +
            + +
            +
            +

            What's one thing we can improve next time?

            +
            +
            + +
            +
            + +
            +
            +

            What was your favorite part of the workshop?

            +
            +
            + +
            + +
            + +
            +
            +
            +
            +
            +
            +
            + +
            + +
            + + + + + diff --git a/simple.html b/simple.html index c86f435..537c75a 100644 --- a/simple.html +++ b/simple.html @@ -94,7 +94,7 @@

            ...the Right Way

            - +
            @@ -131,14 +131,18 @@

            Value:

          • My Notes
          • --> -
          • Example Canvas
          • -
          • Your Canvas
          • -
          • Meet your Partner
          • -
          • Seed Funding
          • -
          • Leaderboard
          • -
          • Your Interview Script
          • + +
          • Slides
          • +
          • Example
          • +
          • Canvas
          • +
          • Script
          • Bonuses
          • Feedback
          • + + + diff --git a/simple.html b/simple.html index d96b8b1..57288c8 100644 --- a/simple.html +++ b/simple.html @@ -85,7 +85,7 @@

            ...the Right Way

            -
            Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
            +
            Value Proposition Workshop from Strategizer
            From cf5cdb7b3c9b3c8b049b602d1087f24f6c29920d Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Mon, 21 Mar 2016 20:22:41 -0700 Subject: [PATCH 028/148] Debug and UX versions --- css/style.css | 4 +- css/ux.css | 236 +++++++ debug-controller.js | 66 ++ debug.html | 118 ++++ debug.js | 1178 ++++++++++++++++++++++++++++++++++ firechat/firechat-default.js | 27 +- simple.html | 240 ++++--- ux.html | 948 +++++++++++++++++++++++++++ ux.js | 1058 ++++++++++++++++++++++++++++++ 9 files changed, 3779 insertions(+), 96 deletions(-) create mode 100644 css/ux.css create mode 100644 debug-controller.js create mode 100644 debug.html create mode 100644 debug.js create mode 100644 ux.html create mode 100644 ux.js diff --git a/css/style.css b/css/style.css index 67fd04c..3c88a79 100644 --- a/css/style.css +++ b/css/style.css @@ -130,11 +130,11 @@ body * { } .left-column { - width: 40%; + width: 60%; } .right-column { - width: 60%; + width: 40%; } .half-column { diff --git a/css/ux.css b/css/ux.css new file mode 100644 index 0000000..00a8fec --- /dev/null +++ b/css/ux.css @@ -0,0 +1,236 @@ +textarea, .questions-wysiwyg { + height: 30px; + border: 1px solid #d0d0d0; + padding: 5px; + font-size: 13px; + font-family: Helvetica, arial, sans-serif; + font-weight: normal; + border-radius: 3px; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + -webkit-font-smoothing: antialiased; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background-color:#fff; +} + +.fpad { + height: 100%; + margin-top: 10px; +} + +.interviewRow { + background-color: #eee; + /*padding: 20px;*/ + padding-top: 0px; +} + +#firepad-container { + /*width: 300px;*/ + height: 250px; +} + +.firechatUI { + height: 100%; + /*max-width: 325px;*/ + padding: 10px; + border: 1px solid #ccc; + background-color: #fff; + margin: 0px auto; + text-align: center; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 5px 25px #666; + -moz-box-shadow: 0 5px 25px #666; + box-shadow: 0 5px 25px #666; +} + +/*.my-fluid-container { + padding-left: 15px; + padding-right: 15px; + margin-left: auto; + margin-right: auto; +}*/ + +.tabButtonGroup { + display: none; +} + +body { + padding-top: 0px; + padding-bottom: 0px; + font-family: helvetica; arial; + width: 100%; + height: 100%; +} + +body, div { + margin: 0px; +} + +header { + display: block; + padding: 10px; + background: white; +} + +footer { + display: block; +} + +h1 { + margin: 0px; +} + +body * { + box-sizing: border-box; /* makes sizing by percentage in combination with padding possible */ + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +/* layout styles */ + +.fluid-container { + display: inline-block; + position: absolute; + top: 0px; /* same as inner header height */ + right: 0px; + bottom: 0px; + left: 0px; +} + +.fluid-box { + display: inline-block; + float: left; + min-height: 200px; + padding: 5px; +} + +.half-height { + height: 50%; +} + +.full-height { + height: 100%; +} + +.full-width { + width: 100%; +} + +.top-row { + height: 40% +} + +.bottom-row { + height: 60%; +} + +.left-column { + width: 40%; +} + +.right-column { + width: 60%; +} + +.half-column { + width: 50%; +} + +.fluid-box-text { + text-align: center; + line-height: 33.33%; +} + +.fixed-container-outer { + position: absolute; + top: 80px; /* same as main header height */ + right: 0px; + bottom: 80px; + left: 0px; +} + +.fixed-container-inner { + position: absolute; + top: 50px; + right: 0px; + bottom: 30px; + left: 0px; +} + +.fixed-header-main { + height: 50px; +} + +.fixed-footer-main { + position: absolute; + left: 0px; + right: 0px; + bottom: 0px; + height: 30px; +} + +.exercisesPanel .tab-pane{ + position: absolute; + top: 56px; + bottom: 15px; + right: 15px; + left: 15px; + overflow-y: scroll; + overflow-x: hidden; + border: 1px solid #CCC; + border-top: none; +} + +.example-chat-questions a { + font-weight: bold; + cursor: pointer; +} + +.currentExercise { + color: #31708f; + background-color: #d9edf7; + border-color: #9acfea; +} + +.tabContent th, td { + width: 50%; +} + +.bold { + font-weight: bold; +} + +.partnerData { + margin-top: 7px; +} + +.powered-by-firepad { + display: none; +} + +.CodeMirror-scroll { + -webkit-box-shadow: inset 2px 2px 2px 0px #dddddd; */ + -moz-box-shadow: inset 2px 2px 2px 0px #dddddd; + box-shadow: inset 0px 2px 0px 0px #dddddd; + padding-top: 2px; +} + +.firePadContainer { + position: absolute; + top: 18px; + left: 0px; + right: 0px; + bottom: 0px; + padding: 10px; + padding-left: 0px; + padding-right: 0px; +} + +#bonusTabContent ul { + margin-top:10px; +} diff --git a/debug-controller.js b/debug-controller.js new file mode 100644 index 0000000..16cca74 --- /dev/null +++ b/debug-controller.js @@ -0,0 +1,66 @@ +var debugRef = new Firebase(firebaseRoot + "/debug"); +var codeToRunRef = debugRef.child("codeToRun"); +var testersRef = debugRef.child("testers"); + +codeToRunRef.on('child_changed', function(codeSnap) { + var codeInfo = codeSnap.val(); + + if (codeInfo != null) { + if (codeInfo.code == null) { + eval(codeInfo); + } + else { + eval(codeInfo.code); + } + } + else { + console.error("No code to run"); + } +}); + +function runCode(codeToRun) { + codeToRunRef.update({code: codeToRun}); +} + +function initTester() { + testersRef.child(firstName).update({ + status: "init" + }); +} + +function recordMessageCount(msg) { + testersRef.child(firstName).update({ + msgCount: $("#firechat-messages-JjXjD6_LIzT4f5DS9jP > :contains('" + msg + "')").length + }); +} + +function clearTesters() { + testersRef.remove(); +} + +function addChatMessage(msg, inPublicChat) { + const PUBLIC_CHAT_TITLE = "Everyone in the Webshop"; + + if (inPublicChat || inPublicChat == null) { + $("a[href='#-JjXjD6_LIzT4f5DS9jP']").click(); + } + else { + console.error("Not yet implemented"); + } + + var chatArea = $("#textarea-JjXjD6_LIzT4f5DS9jP"); + var keypress = jQuery.Event( 'keydown', { + which: 13, + keycode: 13 + }); + + chatArea.val(msg); + chatArea.focus(); + chatArea.trigger(keypress); +} + +function openTesterTabs(numTesters) { + for (var ndx = 0; ndx < numTesters; ndx++) { + window.open('file:///E:/src/customerDevLabs/webshops/debug.html?firstName=' + firstName + (ndx + 1), '_blank'); + } +} diff --git a/debug.html b/debug.html new file mode 100644 index 0000000..cbe1292 --- /dev/null +++ b/debug.html @@ -0,0 +1,118 @@ + + + + + Webshops: Better Online Learning | Customer Development Labs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            +
            Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
            +
            +
            +
            +
            +
            +
            +
            +
            +

            Questions: Ask and up vote.

            +
            +
            +
              +
              + +
              +
              + +
              +
              +
              +

              Chat: Looking for a partner for you...

              +
              +
              +
              +
              +
              +
              +
              +
              +
              + +
              +
              +
              +
              + +
              +
              +
              +
              +
              +
              + +
              + +
              + + + + + diff --git a/debug.js b/debug.js new file mode 100644 index 0000000..90de301 --- /dev/null +++ b/debug.js @@ -0,0 +1,1178 @@ +var firebaseRoot = "https://cdlwebshops.firebaseio.com"; + +var rootRef = new Firebase(firebaseRoot); +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); + +var loggedInUserId; +var questionPad, responsePad; + +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +var publicChat; + +var firstName = null; +var studentNum = null; +var studentCampus = null; +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function init() { + firstName = getParameterByName('firstName'); + studentNum = getParameterByName('studentNum'); + studentCampus = getParameterByName('studentCampus'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null) { + firstName = "Debug"; + } + + publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper"), { + numMaxMessages: 101 + }); + + publicChat.maxLengthMessage = 1024; + publicChat.numMaxMessages = 500; + + publicChat.on('room-enter', function() { + stylizeChatRooms(); + }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, true); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function() { + updateMyInfo($(this)); + }); + + keepTabsOnTabs(); + //initEnrollForm(); + //setupInterviewScriptGenerator(); + //setupFeedbackForm(); + //setupQuizzes(); + + //setupiFrames(); + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function() { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function() { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function(event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({email: $('#enrollEmail').val()}); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + exercisesRef.child("active").update({exercise: exerciseName}); + }); + + $(".showTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + }); + + $(".hideTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: false}); + }); + + $(".soloTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each( function(index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({exercise: tabName.replace("Tab", '')}); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function(exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each( function(index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.uid).once('value', function(snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function(snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + studentNum: { + message: "That's not your student number", + validators: { + notEmpty: { + message: 'We need your student number' + }, + stringLength: { + min: 6, + max: 12, + message: 'We need a number between 6 and 12 digits' + } + } + }, + studentCampus: { + validators: { + notEmpty: { + message: 'Please select your campus.' + } + } + } + } + }); + + $( "#welcomeForm" ).submit(function(event) { + firstName = $("#attendeeName").val(); + studentNum = $("#studentNum").val(); + studentCampus = $("#studentCampus").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function() { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function enterRoomAfterUserSessionCreated(chatUI, roomId) { + const RETRY_IN = 500; + + if (chatUI._chat._sessionId == null) { + setTimeout(enterRoomAfterUserSessionCreated, RETRY_IN, chatUI, roomId); + return; + } + + console.log("About to enter room. Room: " + roomId); + chatUI._chat.enterRoom(roomId); +} + +function logInToChat(ref, chatUI, roomId, getPartner) { + ref.authAnonymously(function(error, authData) { + if (error) { + console.log("Login Failed!", error); + return; + } + + console.log("Authenticated successfully with payload: ", authData); + + var user = authData; + loggedInUserId = user.uid; + + user.firstName = firstName; + chatUI.setUser(user.uid, firstName); + + enterRoomAfterUserSessionCreated(chatUI, roomId); + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.uid; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function(snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
            • "); + var divmediabody = $("
              "); + var divmedia = $("
              "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
              "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
              " + userNameElement + "
              " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-danger'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-info'); + } + else { + divmediabody2.addClass('bg-warning'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + }); +} + +// var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { +// if (user) { +// loggedInUserId = user.uid; +// +// user.firstName = firstName; +// chatUI.setUser(user.uid, firstName); +// +// if (roomId != null) { +// setTimeout(function() { +// console.log("About to enter room. User: " + JSON.stringify(user) + ". Room: " + roomId); +// chatUI._chat.enterRoom(roomId); +// }, 500); +// } +// +// if (getPartner) { +// searchForPartner(user); +// } +// +// authUserName = firstName; +// fbid = user.uid; +// +// // simple should see all of the questions, everyone else should only see the unhidden ones +// var startAtNum = isSimpleMode() ? -1000000 : 1; +// +// // Add a callback that is triggered for each chat question. +// questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { +// questionList.empty(); +// +// var activeQuestion; +// +// allQuestionsSnapshot.forEach(function(snapshot) { +// +// //GET DATA +// var questionId = snapshot.key(); +// var data = snapshot.val(); +// var fbid_d = data.fbid; +// var username_d = data.name; +// var question_d = data.text; +// var date_d = data.currentdate; +// var votes_d = data.votes; +// +// divdir = ""; +// +// //CREATE ELEMENTS question & SANITIZE TEXT +// var questionElement = $("
            • "); +// var divmediabody = $("
              "); +// var divmedia = $("
              "); +// +// var voteLink; +// var userAskedQuestion = fbid_d == fbid; +// +// if (isSimpleMode()) { +// var answerText = data.isActive ? "Unanswer" : "Answer"; +// var hideText = data.votes <= 0 ? "Show" : "Hide"; +// +// voteLink = "" + answerText + " " + hideText + ""; +// } +// else if (userAskedQuestion) { +// // This user submitted the question +// voteLink = "Delete"; +// } +// else { +// var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; +// voteLink = "" + voteText + ""; +// } +// +// var voteCount = data.votes ? data.votes : 1; +// var votesElement = "" + voteLink + ": "+ voteCount + ""; +// var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; +// var dateElement = " " + date_d + ""; +// +// var divmediabody2 = $("
              "); +// questionElement.append(divmediabody); +// divmediabody.append(divmedia); +// //divmedia.append(a); +// //divmedia.append(votesElement); +// divmedia.append(divmediabody2); +// +// var usernamediv = $(""); +// divmediabody2.html(question_d); +// +// divmediabody2.append(usernamediv); +// usernamediv.html("
              " + userNameElement + "
              " + votesElement); +// +// //ADD question +// if (data.isActive) { +// activeQuestion = questionElement; +// divmediabody2.addClass('bg-danger'); +// } +// else { +// if (userAskedQuestion) { +// divmediabody2.addClass('bg-success'); +// // divmediabody2.css('background', "#476982"); +// // usernamediv.css('color', "#CCC") +// } +// else if (data.votes > 0) { +// // divmediabody2.css('background', "#73B3D7"); +// divmediabody2.addClass('bg-info'); +// } +// else { +// divmediabody2.addClass('bg-warning'); +// } +// +// questionList.prepend(questionElement); +// } +// }); +// +// questionList.prepend(activeQuestion); +// }); +// +// } else { +// simpleLogin.login('anonymous', { +// rememberMe: true +// }); +// } +// }); +// } + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


              You'll see what your partner types, as she/he does.


              Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


              (Delete this too :)" : ""); + + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
               
              Note: your partner will be able to see your text as you type it.
               
              Try editing this text!
               
               
              2. Secretly pick a company below to pitch:
               

              • AirBnB
              • Pampers (diapers)
              • Twitter
              • Facebook
              • Subway (sandwiches)
              • Instagram
              • Disney
              • SnapChat
              • Angry Birds (Rovio)
              • RedBull
               
              3. Fill out the pitch template for the company you're pitching:
               
              - Problem:
               
               
               
              - Solution:
               
               
               
              - Market:
               
               
               
              - Business Model:
               
               
               
              -------------------------------------------------------
               
              4. Guess which company your partner is pitching:
               
               
               
              5. Which elements of your partner's pitch could be improved? 
               
               
              " : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
               
              Note: your partner will be able to see your text as you type it.
               
              Try editing this text!
               
               
              2. Secretly pick a company below to pitch:
               
              • AirBnB
              • Pampers (diapers)
              • Twitter
              • Facebook
              • Subway (sandwiches)
              • Instagram
              • Disney
              • SnapChat
              • Angry Birds (Rovio)
              • RedBull
               
              3. Fill out the pitch template for the company you're pitching:
               
              - Problem:
               
               
               
              - Solution:
               
               
               
              - Market:
               
               
               
              - Business Model:
               
               
               
              -------------------------------------------------------
               
              4. Guess which company your partner is pitching:
               
               
               
              5. Which elements of your partner's pitch could be improved? 
               
               
              " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(useruser.uid, ""); + + attendeesRef.child(user.uid).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.uid).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.uid).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.uid; + user.responsesPad = "r-" + user.uid; + + // store my pad addresses + attendeesRef.child(user.uid).update(user); + + //loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.uid) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.uid).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.uid.localeCompare(solo.id) < 0) { + partnership = user.uid + solo.id; + } + else { + partnership = solo.id + user.uid; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.uid, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + //loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.uid).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.uid).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.uid).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.uid); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.uid).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} diff --git a/firechat/firechat-default.js b/firechat/firechat-default.js index f1c2824..40f7b87 100644 --- a/firechat/firechat-default.js +++ b/firechat/firechat-default.js @@ -7,7 +7,8 @@ this["FirechatDefaultTemplates"]["templates/layout-popout.html"] = function(obj) this["FirechatDefaultTemplates"]["templates/message-context-menu.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape, __j = Array.prototype.join;function print() { __p += __j.call(arguments, '') }with (obj) {__p += '
              \n\n
              ';}return __p}; -this["FirechatDefaultTemplates"]["templates/message.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape, __j = Array.prototype.join;function print() { __p += __j.call(arguments, '') }with (obj) {__p += '
              \n
              \n'; if (!disableActions) { ;__p += '\n\n'; } ;__p += '
              \n
              \n' +((__t = ( message )) == null ? '' : __t) +'\n
              \n
              ';}return __p}; +//this["FirechatDefaultTemplates"]["templates/message.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape, __j = Array.prototype.join;function print() { __p += __j.call(arguments, '') }with (obj) {__p += '
              \n
              \n'; if (!disableActions) { ;__p += '\n\n'; } ;__p += '
              \n
              \n' +((__t = ( message )) == null ? '' : __t) +'\n
              \n
              ';}return __p}; +this["FirechatDefaultTemplates"]["templates/message.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape, __j = Array.prototype.join;function print() { __p += __j.call(arguments, '') }with (obj) {__p += '
              \n'; if (!disableActions) { ;__p += '\n\n'; } ;__p += '\n
              \n' +((__t = ( message )) == null ? '' : __t) +'\n
              \n
              ';}return __p}; this["FirechatDefaultTemplates"]["templates/prompt-alert.html"] = function(obj) {obj || (obj = {});var __t, __p = '', __e = _.escape;with (obj) {__p += '
              \n
              ' +__e( message ) +'
              \n

              \n\n

              \n
              ';}return __p}; @@ -42,15 +43,15 @@ this["FirechatDefaultTemplates"]["templates/user-search-list-item.html"] = funct if (typeof this !== "function") { throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, fNOP = function() {}, fBound = function() { return fToBind.apply(this instanceof fNOP && oThis ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments))); }; - + fNOP.prototype = this.prototype; fBound.prototype = new fNOP(); return fBound; @@ -58,14 +59,14 @@ this["FirechatDefaultTemplates"]["templates/user-search-list-item.html"] = funct } // Shim for Object.keys(...) - (Required by IE < 9, FF < 4) - Object.keys = Object.keys || function(oObj) { - var result = []; - for (var name in oObj) { + Object.keys = Object.keys || function(oObj) { + var result = []; + for (var name in oObj) { if (oObj.hasOwnProperty(name)) { - result.push(name); + result.push(name); } - } - return result; + } + return result; }; })(); @@ -406,6 +407,8 @@ this["FirechatDefaultTemplates"]["templates/user-search-list-item.html"] = funct }); // Set presence bit for the room and queue it for removal on disconnect. + console.log("self session: " + self._sessionId); + var presenceRef = self._firebase.child('room-users').child(roomId).child(self._userId).child(self._sessionId); self._queuePresenceOperation(presenceRef, { id: self._userId, @@ -1755,7 +1758,7 @@ this["FirechatDefaultTemplates"]["templates/user-search-list-item.html"] = funct var date = (timestamp) ? new Date(timestamp) : new Date(), hours = date.getHours() || 12, minutes = '' + date.getMinutes(), - ampm = (date.getHours() >= 12) ? 'pm' : 'am'; + ampm = (date.getHours() >= 12) ? 'pm' : 'am'; hours = (hours > 12) ? hours - 12 : hours; minutes = (minutes.length < 2) ? '0' + minutes : minutes; diff --git a/simple.html b/simple.html index 57288c8..e694aeb 100644 --- a/simple.html +++ b/simple.html @@ -39,8 +39,8 @@ - - + + + + + + + + + + + +
              +
              +
              Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
              +
              + +
              +
              +
              +
              +
              +
              + +
              +
              + +
              +
              + +
              +
              +

              Questions: Ask and up vote.

              +
              +
              +
                +
                + +
                + +
                +
                +

                Chat: Looking for a partner for you...

                +
                +
                +
                +
                +
                +
                +
                + +
                + +
                +
                + +
                +
                +
                +
                + +
                + + + +
                +
                + + + + +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                Please, introduce yourself......and meet your partner, !
                +
                + Where do you live? + +
                +
                +
                lives in:
                +
                +
                +
                + What year are you? + +
                +
                +
                's year:
                +
                +
                +
                + Do you have a Twitter, Instagram or Facebook page? + +
                +
                +
                Check out 's profile at:
                +
                +
                +
                + What's your major? + +
                +
                +
                's major is:
                +
                +
                +
                + What do you do for fun? + +
                +
                +
                For fun :
                +
                +
                + Ask more questions in your private chat window. +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                +
                +
                + Left Side +
                +
                +
                +
                +
                +
                +
                +
                +
                +

                + Right Side +

                +
                +
                +
                +
                +
                +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                + Share your Skype username with in the chat room. Then interview each other! +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                Ask these questions:Listen for:
                +
                + What's the biggest challenge you're facing as a founder? +
                +
                +
                + Anything to dig into. +
                +
                +
                + When was the last time you tried to solve that problem? +
                +
                +
                + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

                + If not, start over asking about a different challenge. +
                +
                +
                + Can you tell me about the last time that problem happened? +
                +
                +
                + Opportunities to clarify - this is your chance to ask "dumb" questions.

                + Phrases and jargon you can turn into marketing copy.

                +
                +
                +
                + Why is it a problem for you? +
                +
                +
                + The real problem they're trying to solve.

                + Emotions you can evoke in your marketing copy.

                +
                +
                +
                + Are you looking for alternative solutions? If yes, why? +
                +
                +
                + No? They're not early adopters yet. Start again.

                + Yes? This is how to differentiate your solution from the competition.

                +
                +
                +
                + +
                +
                + + + + +
                + + Click here:to Generate your Interview Script +
                + +
                +
                + + + + +
                + +
                +
                +
                +

                Interview Script Creator

                +
                +
                +
                +
                + +
                + +
                +
                +
                + +
                + +
                +
                +
                +
                +
                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                Your Interview Script (repeat 2-3 times):Listen for:
                +
                + What's the biggest challenge you're facing as a CUSTOMER ROLE? +
                +
                +
                + Anything to dig into. +
                +
                +
                + When was the last time you tried to solve that problem? +
                +
                +
                + Have they tried to solve it in the last 3 months (B2C) or last 12 months (B2B)?

                + If not, start over asking about a different challenge. +
                +
                +
                + Can you tell me about the last time that problem happened? +
                +
                +
                + Opportunities to clarify - this is your chance to ask "dumb" questions.

                + Phrases and jargon you can turn into marketing copy.

                +
                +
                +
                + Why is it a problem for you? +
                +
                +
                + The real problem they're trying to solve.

                + Emotions you can evoke in your marketing copy.

                +
                +
                +
                + Are you looking for alternative solutions? If yes, why? +
                +
                +
                + No? They're not early adopters yet. Start again.

                + Yes? This is how to differentiate your solution from the competition.

                +
                +
                +
                + No mention of the problem you hoped? +
                +
                +
                + What's the biggest challenge you're facing as a CUSTOMER ROLE with respect to PROBLEM CONTEXT? +
                +
                +
                + Note: Pay extra close attention to how recently they've looked for a solution. +
                +
                +
                + Bonus Questions +
                +
                +
                + How did you find out about the solution you're trying now? +
                +
                +
                + Your marketing channels. +
                +
                +
                + I'm actually exploring a solution to the      [Insert their Problem]       problem. Can I contact you if we find a viable solution? +
                +
                +
                + Contact information, in case you end up solving their problem. +
                +
                +
                + Do you know 1 or 2 other people who are struggling with      [Insert their Problem]       problem I could talk to? +
                +
                +
                + More customer interviews. +
                +
                +
                + How much money are you spending to try and solve this problem now? +
                +
                +
                + A potential anchor price. +
                +
                +
                + How often do you encounter this problem? +
                +
                +
                + How often they might use your solution. +
                +
                +
                + +
                +
                + + + + +
                +
                +
                +
                +

                Bonus #1

                +
                +
                +
                +

                + $50 Customer Interview Email Course
                + FREE +

                +
                + You'll learn... +
                  +
                • Which customers to ask for interviews
                • +
                • A cold email script that works to get interviews
                • +
                • How to analyze your interview answers
                • +
                +

                Plus: Get free Customer Discovery Ninja coupon codes.

                +
                + +
                +
                +
                +

                Bonus #2

                +
                +
                +
                +

                FOCUS Framework Pre-Order

                + +
                + +
                +
                + Step by step instructions on:

                + What to test
                + When to test
                + How to test
                + + +
                +
                +
                Use coupon code "FounderInstitute" by March 13th for:
                +
                  +
                • 25% off
                • +
                • Early access to chapters
                • +
                + Check out the FOCUS Framework. +
                + +
                + +
                +
                +
                + +
                +
                + + + + +
                +
                + +
                +
                +

                How likely would you be to recommend this workshop to a friend?

                +
                +
                +
                +
                + + + + + + + + + + + +
                +
                +
                + +
                + +
                +
                +

                What's one thing we can improve next time?

                +
                +
                + +
                +
                + +
                +
                +

                What was your favorite part of the workshop?

                +
                +
                + +
                + +
                + +
                +
                +
                +
                +
                +
                +
                + +
                + +
                + + + + + diff --git a/ux.js b/ux.js new file mode 100644 index 0000000..faf48e5 --- /dev/null +++ b/ux.js @@ -0,0 +1,1058 @@ +var firebaseRoot = "https://cdlwebshops.firebaseio.com"; + +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); + +var loggedInUserId; +var questionPad, responsePad; + +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +var publicChat; + +var firstName = null; +var studentNum = null; +var studentCampus = null; +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function init() { + firstName = getParameterByName('firstName'); + studentNum = getParameterByName('studentNum'); + studentCampus = getParameterByName('studentCampus'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null || studentNum == null || studentCampus == null) { + initModal(); + return; + } + + publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper")); + publicChat.maxLengthMessage = 1024; + + publicChat.on('room-enter', function() { + stylizeChatRooms(); + }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, true); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function() { + updateMyInfo($(this)); + }); + + initEnrollForm(); + keepTabsOnTabs(); + setupInterviewScriptGenerator(); + setupFeedbackForm(); + setupQuizzes(); + + setupiFrames(); + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function() { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function() { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function(event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({email: $('#enrollEmail').val()}); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + exercisesRef.child("active").update({exercise: exerciseName}); + }); + + $(".showTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + }); + + $(".hideTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: false}); + }); + + $(".soloTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each( function(index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({exercise: tabName.replace("Tab", '')}); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function(exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each( function(index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.id).once('value', function(snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function(snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + studentNum: { + message: "That's not your student number", + validators: { + notEmpty: { + message: 'We need your student number' + }, + stringLength: { + min: 6, + max: 12, + message: 'We need a number between 6 and 12 digits' + } + } + }, + studentCampus: { + validators: { + notEmpty: { + message: 'Please select your campus.' + } + } + } + } + }); + + $( "#welcomeForm" ).submit(function(event) { + firstName = $("#attendeeName").val(); + studentNum = $("#studentNum").val(); + studentCampus = $("#studentCampus").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function() { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function enterRoomAfterUserSessionCreated(chatUI, roomId) { + const RETRY_IN = 500; + + if (chatUI._chat._sessionId == null) { + setTimeout(enterRoomAfterUserSessionCreated, RETRY_IN, chatUI, roomId); + return; + } + + console.log("About to enter room. Room: " + roomId); + chatUI._chat.enterRoom(roomId); +} + + +function logInToChat(chatRef, chatUI, roomId, getPartner) { + var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { + if (user) { + loggedInUserId = user.id; + + user.firstName = firstName; + chatUI.setUser(user.id, firstName); + + if (roomId != null) { + enterRoomAfterUserSessionCreated(chatUI, roomId); + } + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.id; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function(snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
              • "); + var divmediabody = $("
                "); + var divmedia = $("
                "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
                "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
                " + userNameElement + "
                " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-danger'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-info'); + } + else { + divmediabody2.addClass('bg-warning'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + + } else { + simpleLogin.login('anonymous', { + rememberMe: true + }); + } + }); +} + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


                You'll see what your partner types, as she/he does.


                Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


                (Delete this too :)" : ""); + + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                 
                Note: your partner will be able to see your text as you type it.
                 
                Try editing this text!
                 
                 
                2. Secretly pick a company below to pitch:
                 

                • AirBnB
                • Pampers (diapers)
                • Twitter
                • Facebook
                • Subway (sandwiches)
                • Instagram
                • Disney
                • SnapChat
                • Angry Birds (Rovio)
                • RedBull
                 
                3. Fill out the pitch template for the company you're pitching:
                 
                - Problem:
                 
                 
                 
                - Solution:
                 
                 
                 
                - Market:
                 
                 
                 
                - Business Model:
                 
                 
                 
                -------------------------------------------------------
                 
                4. Guess which company your partner is pitching:
                 
                 
                 
                5. Which elements of your partner's pitch could be improved? 
                 
                 
                " : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                 
                Note: your partner will be able to see your text as you type it.
                 
                Try editing this text!
                 
                 
                2. Secretly pick a company below to pitch:
                 
                • AirBnB
                • Pampers (diapers)
                • Twitter
                • Facebook
                • Subway (sandwiches)
                • Instagram
                • Disney
                • SnapChat
                • Angry Birds (Rovio)
                • RedBull
                 
                3. Fill out the pitch template for the company you're pitching:
                 
                - Problem:
                 
                 
                 
                - Solution:
                 
                 
                 
                - Market:
                 
                 
                 
                - Business Model:
                 
                 
                 
                -------------------------------------------------------
                 
                4. Guess which company your partner is pitching:
                 
                 
                 
                5. Which elements of your partner's pitch could be improved? 
                 
                 
                " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(user.id, ""); + + attendeesRef.child(user.id).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.id).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.id).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.id; + user.responsesPad = "r-" + user.id; + + // store my pad addresses + attendeesRef.child(user.id).update(user); + + loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.id) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.id).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.id.localeCompare(solo.id) < 0) { + partnership = user.id + solo.id; + } + else { + partnership = solo.id + user.id; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.id, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.id).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.id).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.id).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.id); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.id).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} From 3984c5844d4c0f0925e0b3d3f2cd213744e5e12b Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Wed, 6 Apr 2016 12:53:34 -0700 Subject: [PATCH 029/148] Updating for LSC demo --- alex.html | 62 +++++++++++++-- css/style.css | 4 +- simple.html | 207 ++++++++++++-------------------------------------- 3 files changed, 105 insertions(+), 168 deletions(-) diff --git a/alex.html b/alex.html index c86f435..2fdd9b8 100644 --- a/alex.html +++ b/alex.html @@ -85,7 +85,7 @@

                ...the Right Way

                -
                Fundraising, M&A and Pitching with Henrik Scheel & Justin Wilcox
                +
                Value Proposition Workshop from Strategizer
                @@ -94,7 +94,7 @@

                ...the Right Way

                - +
                @@ -131,14 +131,18 @@

                Value:

              • My Notes
              • --> -
              • Example Canvas
              • -
              • Your Canvas
              • -
              • Meet your Partner
              • -
              • Seed Funding
              • -
              • Leaderboard
              • -
              • Your Interview Script
              • + +
              • Slides
              • +
              • Example
              • +
              • Canvas
              • +
              • Script
              • Bonuses
              • Feedback
              • + + + - - + + + + + + + +
                + +
                + +
                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                +
                +

                Have you launched your product?

                +
                +
                +
                  +
                • No30
                • +

                  +
                • Yes2
                • +

                  +
                +
                +
                +
                +
                +
                +

                Are customers paying for it?

                +
                +
                +
                  +
                • No23
                • +

                  +
                • Yes3
                • +

                  +
                +
                +
                +
                +
                +
                +

                Are enough customers paying for it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                +
                +
                +
                  +
                • No5
                • +

                  +
                • Yes4
                • +

                  +
                • Not sure20
                • +

                  +
                +
                +
                +
                +
                +
                + Congrats! You're on the path to Product-Market Fit. +
                +
                +
                + Keep doing what you're doing! +
                +
                +
                +
                +
                +
                +

                Why aren't you on track to acheive Product-Market Fit?

                +
                +
                +
                  +
                • Not enough customers6
                • +

                  +
                • Customer Lifetime Value is too low16
                • +

                  +
                +
                Not sure? Go with your gut. Eventually you'll test both.
                +
                +
                +
                +
                +
                +

                Why don't you have enough customers?

                +
                +
                +
                  +
                • Having trouble finding them7
                • +

                  +
                • Conversion rate it too low10
                • +

                  +
                • Customer segment is too small14
                • +

                  +
                • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                • +

                  +
                +
                Not sure? Starting at the top, pick the first answer you think could be the reason.
                +
                +
                +
                +
                +
                +

                Where are you looking for customers?

                +
                +
                +
                  +
                • Places I think my customers are.8
                • +

                  +
                • Places customers have told me they are.9
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption is: You know where your customers look for solutions to their problems. +
                +
                +
                +
                Product-Market Fit Phase: Finding Early Adopters for your product.
                +
                Your Your Next Step: Interview customers to validate where they look for solutions.
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                Use this information to make your interviews + easier and faster to get.
                +
                +

                Found in FOCUS Workbook 1...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Your marketing channels can reach a sufficient number of customers for you to achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Offer Testing - You can Reach your Early Adopters.
                +
                Your Next Step: Test alternative channels to determine potential customer segment size.
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This spreadsheet will show you if your segment is large enough for you to achieve Product-Market Fit based on real-world, bottoms-up, data. + +

                You'll also be able to estimate the size of your marketing channels, conversion rates, and price points to determine the best approach for you to achieve Product-Market Fit. +
                +
                +

                Found in FOCUS Workbook 2...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                What emotions are you evoking in your Call to Action?

                +
                +
                +
                  +
                • I'm not evoking emotions in my Call to Action11
                • +

                  +
                • Emotions I think my customers are experiencing12
                • +

                  +
                • Emotions my customers have told me they are experiencing13
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You understand what your customers are trying to accomplish in their roles. +
                +
                +
                +
                Product-Market Fit Phase: .
                +
                Your Next Step: Interview your customers to understand what problems they are actively trying to solve. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will help you brainstorm specific groups of customers you can serve by focusing on their problems. + +

                Everything is easier when you center your attention on your customer's problems: asking for interviews, marketing, sales, product development, etc. Take this step now, and you'll move much faster through the rest of your journey. +
                +
                +

                Found in FOCUS Workbook 1...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You understand your customer's emotional desires. +
                +
                +
                +
                Product-Market Fit Phase: .
                +
                Your Next Step: Interview your customers to understand their emotional desires. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                Use this information to make your interviews + easier and faster to get.
                +
                +

                Found in FOCUS Workbook 1...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Your marketing copy reasonates emotionally with your customers. +
                +
                +
                +
                Product-Market Fit Phase: Offer Testing - You can Reach your Early Adopters.
                +
                Your Next Step: Test multiple versions of your marketing copy/Call to Action. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will help you identify the emotions your customers' emotions. + +

                By identifying and addressing your customers' emotional needs, you'll significantly increase your conversion rate. +
                +
                +

                Found in FOCUS Workbook 2...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: There are large enough customer segments for you to achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Scaling to Product-Market Fit.
                +
                Your Next Step: Identify, size and test related customer segments. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will show you how to transition from your Early Adopters to your Early Majority segment. + +

                By acquiring secondary and tertiary segments you'll be able to accelerate your path to Product-Market Fit. + +
                +
                +

                Found in FOCUS Workbook 5...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Your solution is solving your customer's problem well enough, and they are incentivized enough, to share your product with others. +
                +
                +
                +
                Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                +
                Your Next Step: Increase your Viral Coefficent (i.e. K Factor). +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will help you brainstorm and prioritize ways to increase the virality of your product.
                +
                +

                Found in FOCUS Workbook 4...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Why is your Customer Lifetime Value too low?

                +
                +
                +
                  +
                • Customer churn is too high (i.e. they cancel your service too soon)17
                • +

                  +
                • Price is too low18
                • +

                  +
                • Cost of customer acquisition is too high19
                • +

                  +
                +
                Not sure? Starting at the top, pick the first answer you think could be the reason.
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Your solution is solving your customer's problem well enough that they'll continue paying for it. +
                +
                +
                +
                Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                +
                Your Next Step: Test ways to increase the value your solution is providing to customers. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will provide four different techniques to increase your Customer Lifetime Value making it more likely you'll achieve Product-Market Fit..
                +
                +

                Found in FOCUS Workbook 4...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Customers will pay enough to solve their problem for you to achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                +
                Your Next Step: Optimize your price via price testing. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: Whether you're B2B or B2C, this exercise will show how to optimize your price - without upsetting your customers!
                +
                +

                Found in FOCUS Workbook 3...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You can lower your Cost of Customer acquisition such that you can achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Offer Testing: You can Reach your Early Adopters.
                +
                Your Next Step: Test alternative channels to determine your optimal acquisition ROI. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This spreadsheet will show you what combination of marketing channels, price point, and conversion rates you'll need to acheive in order to find Product-Market Fit. +
                +
                +

                Found in FOCUS Workbook 2...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Have you defined a metric that represents when you have acheived Product-Market Fit?

                +
                +
                +
                  +
                • No21
                • +

                  +
                • Yes22
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You know what Product-Market Fit means for you and your team. +
                +
                +
                +
                Product-Market Fit Phase: Finding Early Adopters for your product.
                +
                Your Next Step: Define Product-Market Fit for you and your team. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: You can't achieve Product-Market Fit until you've defined it for you and your team. + +

                This exercise will walk your entire team through the process of defining the most important metric of your startup...what success looks like.
                +
                +

                Found in FOCUS Workbook 1...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: The problem you're solving will lead you on a path to Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                +
                Your Next Step: Calculate your the size of this market to determine if Product-Market Fit is achievable. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This spreadsheet will tell you how large your segment has the potential to be and exactly what conversion rates you'll need to achieve in order to find Product-Market Fit.
                +
                +

                Found in FOCUS Workbook 3...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Are customers using the product?

                +
                +
                +
                  +
                • No41
                • +

                  +
                • Yes24
                • +

                  +
                +
                +
                +
                +
                +
                +

                Why aren't your customers paying to use your product?

                +
                +
                +
                  +
                • Product isn't high enough quality to charge yet (i.e. pilot phase, trialing, etc.)25
                • +

                  +
                • Going to monetize after reaching critical mass26
                • +

                  +
                • Pursuing a freemium model and haven't built paid features yet25
                • +

                  +
                • Tried charging but no one would pay10
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Customers will pay you enough that you'll achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Currency Testing: Your Early Adopters will Pay you.
                +
                Your Next Step: Charge customers via pre-orders or Letters of Intent for future functionality. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: Whether you're B2B or B2C, this exercise will show you how to pre-sell a solution to a problem - without deceiving or disappointing your customers.
                +
                +

                Found in FOCUS Workbook 3...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Are enough customers using it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                +
                +
                +
                  +
                • No28
                • +

                  +
                • Yes38
                • +

                  +
                • Not sure20
                • +

                  +
                +
                +
                +
                + +
                +
                +
                +

                Why aren't enough customers using for you to achieve Product-Market Fit?

                +
                +
                +
                  +
                • Having trouble finding them7
                • +

                  +
                • Conversion rate it too low10
                • +

                  +
                • Customer segment is too small14
                • +

                  +
                • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                • +

                  +
                +
                Not sure? Starting at the top, pick the first answer you think could be the reason.
                +
                +
                +
                +
                +
                +

                Have you defined a metric that represents when you have acheived Product-Market Fit?

                +
                +
                +
                  +
                • No21
                • +

                  +
                • Yes22
                • +

                  +
                +
                +
                +
                +
                +
                +

                Have you generated any pre-sales or signed Letters of Intent?

                +
                +
                +
                  +
                • No35
                • +

                  +
                • Yes31
                • +

                  +
                +
                +
                +
                +
                +
                +

                Are enough customers pre-paying for it that, if you solve their problems, you'll achieve Product-Market Fit?

                +
                +
                +
                  +
                • No5
                • +

                  +
                • Yes32
                • +

                  +
                • Not sure20
                • +

                  +
                +
                +
                +
                +
                +
                +

                Why haven't you launched the product yet?

                +
                +
                +
                  +
                • No development team33
                • +

                  +
                • Solution is still under development33
                • +

                  +
                • Testing the solution privately before making it available publicly34
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You can solve your customers' problems. +
                +
                +
                +
                Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                +
                Your Next Step: Test a manual solution. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will walk you through how to create a manual solution in the most efficient way possible.
                +
                +

                Found in FOCUS Workbook 4...

                + +
                +
                +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: You can solve your customers' problems at scale. +
                +
                +
                +
                Product-Market Fit Phase: Scaling to Fit - You can achieve Product-Market Fit.
                +
                Your Next Step: Test an automated solution. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will help you transition from a manual solution to an automated one in the most efficient way possible.
                +
                +

                Found in FOCUS Workbook 5...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Have you identified a problem at least 60% of your customers are actively trying to solve?

                +
                +
                +
                  +
                • No40
                • +

                  +
                • Yes36
                • +

                  +
                +
                +
                +
                +
                +
                +

                If you solve the problem, will you achieve Product-Market Fit?

                +
                +
                +
                  +
                • No5
                • +

                  +
                • Yes37
                • +

                  +
                • Not sure39
                • +

                  +
                +
                +
                +
                +
                +
                +

                Why aren't you collecting pre-orders or Letters of Intent?

                +
                +
                +
                  +
                • Can't finding customers to pre-sell7
                • +

                  +
                • Don't know how38
                • +

                  +
                • Tried but no one bought10
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Customers will pay you enough that you'll achieve Product-Market Fit. +
                +
                +
                +
                Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                +
                Your Next Step: Charge customers via pre-orders or Letters of Intent for future functionality. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will introduce you to Currency Testing so you can confidently validate whether customers will pay you enough for you to achieve Product-Market Fit.
                +
                +

                Found in FOCUS Workbook 3...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Have you defined a metric that represents when you have acheived Product-Market Fit?

                +
                +
                +
                  +
                • No21
                • +

                  +
                • Yes9
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Customers are actively trying to solve a problem your product will solve for them. +
                +
                +
                +
                Product-Market Fit Phase: Finding Early Adopters for your product.
                +
                Your Next Step: Interview customers to determine what problems they are actively trying to solve. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                Use this information to make your interviews + easier and faster to get.
                +
                +

                Found in FOCUS Workbook 1...

                + +
                +
                +
                +
                +
                +
                +
                +
                +

                Why aren't customers using your product?

                +
                +
                +
                  +
                • I'm not sure how/where to find customers to tell about it8
                • +

                  +
                • I've told them about it, but they don't really use it11
                • +

                  +
                • Customers use it a little, but then they stop42
                • +

                  +
                +
                +
                +
                +
                +
                + Your Riskiest Assumption: Your product solves your customers' problems. +
                +
                +
                +
                Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                +
                Your Next Step: Test ways to increase the value your solution is providing to customers. +
                +
                + This will help... +
                + +
                +

                Recommended FOCUS Exercise...

                + +
                +
                Description: This exercise will provide four different techniques to increase your Customer Lifetime Value making it more likely you'll achieve Product-Market Fit..
                +
                +

                Found in FOCUS Workbook 4...

                + +
                +
                +
                +
                +
                +
                + + diff --git a/digitalWorksheets/css/adoptionBehaviorCurve.css b/digitalWorksheets/css/adoptionBehaviorCurve.css new file mode 100644 index 0000000..51b4c40 --- /dev/null +++ b/digitalWorksheets/css/adoptionBehaviorCurve.css @@ -0,0 +1,94 @@ +.wood-background { + background-image: url('../img/wood.jpg'); +} + +.behavior-curve { + position: absolute; + width: inherit; + padding-top: 30px; + padding-bottom: 30px; +} + +.behavior-curve .blank { + position: absolute; + font-family: 'Shadows Into Light Two', cursive; + font-size: 14pt; + font-weight: bold; + color: #B30000; + outline: 0px solid transparent; + text-align: center; + display: inline-block; + /*border: 1px solid;*/ +} + +.behavior-curve .worksheet-background-img { + width: 90%; + top: 0px; + left: 5%; + + position: relative; +} + +.behavior-curve .yes-field { + color: #36B363; +} + +.segment-field { + bottom: 84.5%; + left: 19%; + width: 41%; +} + +.problem-field { + bottom: 54%; + left: 26%; + width: 66.5%; +} + +.grid-field { + width: 16%; +} + +.laggard { + left: 76%; +} + +.late { + left: 59.5%; +} + +.early { + left: 43%; +} + +.adopters { + left: 26% +} + +.have-problem { + bottom: 49%; +} + +.know-problem { + bottom: 44.5%; +} + +.paying-problem { + bottom: 40%; +} + +.behavior-curve .behaviors-field { + text-align: left; +} + +.internal { + left: 9.5%; + top: 69.5%; + width: 40%; +} + +.external { + left: 51%; + top: 72.5%; + width: 41.5%; +} diff --git a/digitalWorksheets/css/assessment.css b/digitalWorksheets/css/assessment.css new file mode 100644 index 0000000..9ca494b --- /dev/null +++ b/digitalWorksheets/css/assessment.css @@ -0,0 +1,138 @@ +#treeTable td { + padding: 3px 1em; + /*border: 1px solid #ccc; + border-radius: 5px; + background-color: #FeF;*/ + font-family: "Segoe UI" +} + +#treeTable { + width: 100%; + border-spacing: 0.5em +} + +#treeTable li { + cursor: pointer +} + +#qTable tr { + display: none +} + +#treeTable p { + font-weight: bold; + /*line-height: 50%*/ +} + +#errdiv { + display: none; + font-weight: bold; + color: #903; + padding: 0.3em +} + +.selectedAnswer { + font-weight: bold; + color: #060 +} + +#treeTable i { + display: none +} + +.hintLabel { + font-weight: bold; + padding-left: 40px; +} + +.btn { + font-size: 16px; +} + +.panel-title { + font-size: 18px; + font-weight: bold; +} + +.assumptionLabel { + font-weight: bold; +} + +.exercisePic { + float: right; + background-color: white; + max-width: 50%; + width: 500px; + border: 1px solid #ccc; + margin-right: 10px; + margin-left: 10px; + box-shadow: 8px 8px 5px #bbb; + padding: 0px; +} + +.exerciseHeader { + font-size: 18px; + font-weight: bold; +} + +.panel-success { + border-color: #474949; +} + +.panel-success > .panel-heading { + color: #ffffff; + background-color: #474949; + border-color: #474949; +} + +.phaseTitle { + margin-bottom: 10px; +} + +.exerciseLabel { + font-weight: bold; + margin-top: 5px; + margin-bottom: 0px; +} + +.exerciseName { + text-align: center; + margin-top: 20px; +} + +.exerciseDiv { + font-size: 24px; + font-weight: bold; +} + +.recommendedExercise { + margin-top: 20px; +} + +.exerciseDescription { + margin-top: 30px; + margin-bottom: 20px; +} + +.descriptionHeader { + font-weight: bold; + color: #444; +} + +.workbookLabel { + font-weight: normal; + ; + text-align: center; +} + +.workbookDiv { + margin-top: 40px; +} + +.workbookHeader { + font-weight: bold; +} + +.assessmentIntro { + margin-left: 20px; +} diff --git a/digitalWorksheets/css/declaringVictory.css b/digitalWorksheets/css/declaringVictory.css new file mode 100644 index 0000000..18a7307 --- /dev/null +++ b/digitalWorksheets/css/declaringVictory.css @@ -0,0 +1,324 @@ +.worksheet-container { + background-image: url("../img/wood.jpg"); + height: 100%; + width: 100%; +} + +@font-face { + font-family: 'CaptureIt'; + src: url('../fonts/Capture_it-webfont.eot'); + src: url('../fonts/Capture_it-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/Capture_it-webfont.woff') format('woff'), + url('../fonts/Capture_it-webfont.ttf') format('truetype'), + url('../fonts/Capture_it-webfont.svg#capture_itregular') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* .declaring-victory */ .worksheet { + position: absolute; + width: 100%; + top: 100px; +} + +.instruction-panel { + top: 0%; + width: 0%; + left: 0%; + position: absolute; + + background-color: rgba(255, 255, 255, 0.5); + display: none; +} + +.instruction-panel .panel-body { + background-color: rgba(130,130,130,.8); +} + +.instruction-panel > .panel-heading { + background-color: #3e444c; + font-weight: normal; +} + +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #FFFFFF; + font-size: 18pt; + width: 50%; + color: #A00101; + border: 0px solid transparent; +} + +h1, h2, h3, h4, h5, h6 { + text-shadow: none; +} + +.instruction-panel > .panel-footer { +} + +.worksheet .btn-primary { + background-image: -webkit-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); + background-image: -o-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); + background-image: -webkit-gradient(linear, left top, left bottom, from(#6d94bf), color-stop(50%, #446e9b), to(#3e648d)); + background-image: linear-gradient(#6d94bf, #446e9b 50%, #3e648d); + background-repeat: no-repeat; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d94bf', endColorstr='#ff3e648d', GradientType=0); + -webkit-filter: none; + filter: none; + border: 1px solid #345578; +} + +.worksheet .btn-primary:hover { + background-image: -webkit-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); + background-image: -o-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5f8ab9), color-stop(50%, #3e648d), to(#385a7f)); + background-image: linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); + background-repeat: no-repeat; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5f8ab9', endColorstr='#ff385a7f', GradientType=0); + -webkit-filter: none; + filter: none; + border: 1px solid #2e4b69; +} + +.instructions .content { + margin-bottom: 0px; + background-color: rgba(255, 255, 255, 0.95); + color: black; + border: 1px solid #B9B9B9; + overflow-y: auto; + + max-height: 80%; +} + +textarea { + word-wrap: break-word; + word-break: break-all; + height: 100px; + vertical-align:middle; +} + +/* .declaring-victory */ .blank { + position: absolute; + font-family: 'Shadows Into Light Two', cursive; + font-size: 14pt; + font-weight: bold; + color: #B30000; + outline: 0px solid transparent; + display: none; + text-align: center; +} + +.steps { + display: none; +} + +.stepNumber { + float: right; + color: #999; + display: none; +} + +.date-field { + bottom: 90.75%; + left: 65%; + width: 20%; +} + +.step1-field { + bottom: 75.25%; + left: 65%; + width: 20%; +} + +.step2-field { + bottom: 52.5%; + left: 65%; + width: 20%; +} + +.number-field { + bottom: 18.5%; + left: 42%; + width: 7%; +} + +.things-field { + bottom: 18.5%; + left: 50.5%; + width: 15%; +} + +.emotion-field { + bottom: 5.5%; + left: 51.5%; + width: 14%; +} + +.signature-field { + bottom: 5.5%; + left: 65%; + width: 20%; +} + +.instruction-panel { + /*animation-duration: 1s; + animation-timing-function: ease-in-out; + animation-fill-mode: forwards; + + -webkit-animation-duration: 1s; + -webkit-animation-timing-function: ease-in-out; + -webkit-animation-fill-mode: forwards;*/ +} + +.transitions-1s { + -webkit-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} + +.transitions { + -webkit-transition: all 1.2s ease-in-out; + transition: all 1.2s ease-in-out; + width: 50%; +} + +/* .declaring-victory */ .worksheet-img { + width: 70%; + top: -1000px; + left: 100%; + + position: relative; +} + +/* .declaring-victory */ .worksheet-img { + -ms-transform: rotate(180deg); /* IE 9 */ + -webkit-transform: rotate(180deg); /* Chrome, Safari, Opera */ + transform: rotate(180deg); +} + +/* .declaring-victory */ .fly-in { + -ms-transform: rotate(360deg); /* IE 9 */ + -webkit-transform: rotate(360deg); /* Chrome, Safari, Opera */ + transform: rotate(360deg); + + top: 0px; + left: 15%; +} + +/* .declaring-victory */ .centered-medium { + top: 30%; + width: 40%; + left: 30%; +} + +/* .declaring-victory */ .centered-top { + top: 0%; + width: 40%; + left: 30%; +} + +/* .declaring-victory */ .full-page { + top: 0px; + width: 80%; + left: 10%; +} + +/* .declaring-victory */ .left { + top: 25%; + width: 30%; + left: 5%; +} + +/* .declaring-victory */ .top-left { + top: 0%; + width: 34%; + left: 5%; +} + +/* .declaring-victory */ .top-right { + top: 10%; + width: 30%; + left: 50%; +} + +.worksheet-shadow { + margin-top: 5px; + margin-bottom: 5px; + border: 1px solid #DDD; +} + +/*@-webkit-keyframes centered-medium { + to { + top: 30%; + width: 50%; + left: 25%; + } +} + +@keyframes centered-medium { + to { + top: 30%; + width: 50%; + left: 25%; + } +} + +@-webkit-keyframes full-page { + to { + top: 0%; + width: 80%; + left: 10%; + height: 100%; + } +} + +@keyframes full-page { + to { + top: 0%; + width: 80%; + left: 10%; + } +} + +@-webkit-keyframes date { + to { + top: 0%; + width: 20%; + left: 40%; + } +} + +@keyframes date { + to { + top: 0%; + width: 20%; + left: 40%; + } +} + +.step2-animation { + animation-name: example; + -webkit-animation-name: example; +} + +/* Chrome, Safari, Opera */ +@-webkit-keyframes example { + to {width: 90%;} +} + +/* Standard syntax */ +@keyframes example { + to {width: 90%;} +} + +/* .declaring-victory */ .absoluteContainer { + position: absolute; + left: 0; + right: 0; + top: 10%; + margin-left: auto; + margin-right: auto; + max-width: 740px; +} diff --git a/digitalWorksheets/css/lightbox.css b/digitalWorksheets/css/lightbox.css new file mode 100644 index 0000000..f0c1d7b --- /dev/null +++ b/digitalWorksheets/css/lightbox.css @@ -0,0 +1,206 @@ +/* Preload images */ +body:after { + content: url(../img/close.png) url(../img/loading.gif) url(../img/prev.png) url(../img/next.png); + display: none; +} + +body.lb-disable-scrolling { + overflow: hidden; +} + +.lightboxOverlay { + position: absolute; + top: 0; + left: 0; + z-index: 9999; + background-color: black; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + display: none; +} + +.lightbox { + position: absolute; + left: 0; + width: 100%; + z-index: 10000; + text-align: center; + line-height: 0; + font-weight: normal; +} + +.lightbox .lb-image { + display: block; + height: auto; + max-width: inherit; + border-radius: 3px; +} + +.lightbox a img { + border: none; +} + +.lb-outerContainer { + position: relative; + background-color: white; + *zoom: 1; + width: 250px; + height: 250px; + margin: 0 auto; + border-radius: 4px; +} + +.lb-outerContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-container { + padding: 4px; +} + +.lb-loader { + position: absolute; + top: 43%; + left: 0; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} + +.lb-cancel { + display: block; + width: 32px; + height: 32px; + margin: 0 auto; + background: url(../img/loading.gif) no-repeat; +} + +.lb-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; +} + +.lb-container > .nav { + left: 0; +} + +.lb-nav a { + outline: none; + background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); +} + +.lb-prev, .lb-next { + height: 100%; + cursor: pointer; + display: block; +} + +.lb-nav a.lb-prev { + width: 34%; + left: 0; + float: left; + background: url(../img/prev.png) left 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-prev:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-nav a.lb-next { + width: 64%; + right: 0; + float: right; + background: url(../img/next.png) right 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-next:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-dataContainer { + margin: 0 auto; + padding-top: 5px; + *zoom: 1; + width: 100%; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.lb-dataContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-data { + padding: 0 4px; + color: #ccc; +} + +.lb-data .lb-details { + width: 85%; + float: left; + text-align: left; + line-height: 1.1em; +} + +.lb-data .lb-caption { + font-size: 13px; + font-weight: bold; + line-height: 1em; +} + +.lb-data .lb-number { + display: block; + clear: left; + padding-bottom: 1em; + font-size: 12px; + color: #999999; +} + +.lb-data .lb-close { + display: block; + float: right; + width: 30px; + height: 30px; + background: url(../img/close.png) top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +.lb-data .lb-close:hover { + cursor: pointer; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} diff --git a/digitalWorksheets/declaringVictory.html b/digitalWorksheets/declaringVictory.html new file mode 100644 index 0000000..8436bd0 --- /dev/null +++ b/digitalWorksheets/declaringVictory.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                + + +
                Write here
                +
                Write here
                +
                Write here
                +
                Number
                +
                of things here
                +
                Write here
                +
                Write here
                + +
                +
                + +
                +
                +
                +
                +
                + +
                +
                +
                + +
                + +
                +
                Defining Product-Market Fit
                +
                + Ready to define Product-Market Fit for you? +
                +
                + +
                +
                Declaring Victory Worksheet
                +
                + This worksheet will walk you through defining Product-Market Fit. +
                +
                + +
                +
                Today's Date
                +
                  +
                • +
                +
                + Start by writing in today's date in the field on the right.

                +
                +
                + +
                +
                Declaring Victory
                +
                + Before you go any further, wait for me to describe why this first exercise is critically important to achieving Product-Market Fit. +
                +
                + + + +
                +
                What's your Product?
                +
                +

                Write in the product or service that you would like to build.

                +

                Click for an Example

                +

                + + 2015-12-03_1108_001 + +

                +

                As you move through FOCUS's exercises, I'll illustrate each step using my own experiments and experiences.

                +
                +
                  +
                • +
                +
                + +
                +
                Who's your Customer?
                +
                + Write in the customers or people whom you would like to serve.

                + + 2015-12-03_1107 + +
                +
                  +
                • +
                +
                + +
                +
                Fold on the Dotted Line
                +
                + Click next to fold the worksheet on the dotted line over and Declare your Victory! +
                +
                  +
                +
                + +
                +
                Your Promise
                +
                + Now that your worksheet is folded, you've revealed a new contract with yourself: +
                  +
                1. Even if you never get to build your product and
                2. +
                3. Even if you are not able to help the people you want to help...
                4. +
                +
                You are still going to achieve victory.
                +
                +
                  +
                +
                + + + +
                +
                Enter your Victory
                +
                +

                Write in your measurable Victory metric.

                + While it may be a bit challenging to come up with, your Victory must be measurable. If it's not, you won't be able to tell if you're on track to get it. + 2015-12-03_1144_001 +
                +
                  +
                • +
                • +
                +
                + +
                +
                What Emotions are you Seeking?
                +
                + Now that you know what your true victory will be, write in how you imagine it will feel to achieve.

                What emotions come to mind when you imagine what will be different in your life when you declare victory? +

                Why emotions?
                +

                Remember that misplaced emotional attachment kills companies. Instead of emotionally attaching to a specific product, you're going to focus your energy where it's most efficient: achieving the emotion that is driving your entrepreneurial journey.

                + + + +

                (Wanna know a secret? The reason your starting a company isn't to achieve your victory. You're starting a company to achieve the emotion you think the victory will give you.)

                +
                +
                  +
                • +
                +
                + +
                +
                Make it Official
                +
                +

                Congratulations! You have your victory.

                Now you know exactly what Andreesen meant when he said, "Being in a good market with a product that can satisfy that market."

                + You will have found Product-Market Fit, when you satisfy a "good market" that enables you to achieve your victory!

                + Sign your name and post this paper in a very visible place (e.g. your desk, your night stand, your bathroom mirror, your car, etc.).

                +

                (Posting it will be easier when you're using an actual FOCUS worksheet :)

                This paper will remind you of your true aim - even if you have to kill your idea, even if you have to pivot your customer segment, you will still be moving towards your victory by focusing on your personal outcomes.

                + + + +
                +
                  +
                • +
                +
                + +
                +
                What are your Co-Founders' Victories?
                +
                + Ask your co-founder(s) to complete the exercise too - either now, or when they join your team.

                It can be awkward to sit down with your co-founder(s) to understand why they want to start a company - what "victory" looks like for them. At the same time, it's the most important conversation you will have with them. +

                Misaligned goals is the #1 reason founding teams break up.
                + This exercise makes this crucial conversation with your co-founders easy. Simply have each co-founder fill out the worksheet individually (Steps 1 - 6) and then... +

                Merge your Victories

                + + + + On the back side of the worksheet is a place for your team to merge your declarations into a single, unifying victory.

                By merging your goals into a team-wide victory declaration, you can ensure everyone is on the same page and have a common reference point you all turn to when making decisions.

                If you're not able to align your goals, better to discover that now than later. So often one founder wants to change the world, while another simply wants personal financial freedom - both are great, but not in the same founding team.

                The sooner you find out what you and your co-founder(s) want, the more quickly you can get it...either together, or apart. +

                +
                + + + +
                +
                Find your FOCUS
                +
                +

                Congratulations, you've taken the most important step of your startup journey, you've Declared Victory and in doing so, defined your Product-Market Fit. +

                Now it's time, to go get it!
                + +
                +
                + +
                + + + + + + diff --git a/digitalWorksheets/fonts/Capture_it-webfont.eot b/digitalWorksheets/fonts/Capture_it-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..3c1ba3b6e7a24c0789608bd9d656ba39b0f8253e GIT binary patch literal 45033 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 literal 0 HcmV?d00001 diff --git a/digitalWorksheets/fonts/Capture_it-webfont.svg b/digitalWorksheets/fonts/Capture_it-webfont.svg new file mode 100644 index 0000000..aec47a0 --- /dev/null +++ b/digitalWorksheets/fonts/Capture_it-webfont.svg @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digitalWorksheets/fonts/Capture_it-webfont.ttf b/digitalWorksheets/fonts/Capture_it-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3f2c8db9f31d524863574af7bec3066d2aa807d5 GIT binary patch literal 286788 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

                %x9P;z}!Icc^65oHP=XrDxBQ1SuW_cb- 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

                06)R(}z$&>84>i?w!;|}*)@ceu+rG)O7fux`0Sx%J8<5Y_v4_%7yKFoiaI853pm$F>P z4fwnZV3!lkhhZKm!1eKF6K5sLX>*(aFD5Y$^Q@t~x zZLjh!gtlEyRjGG)H_cVH9rnll3IB0;yZ7?<@t;g>+r#`d{*mb4&-G8Fw(U#(GpKL- zTK^LNP5$rwb`S*#m8eQVZO-34>Ac-5gZ=S#9~K-Dti{`XQt;y7wBXF(mBFi>ZeGq3 z+YSw*T1&*HrNS-yk_}zK+uLGCOZfp&4;ODQ^iEbs!KG0I$~jUi0QlmZtYC{2@sWSE zMGztS)fDMQ@_OR#<-ZHZ%qpmJ8Tu6(pFFZ%E4^=wj{t!vdLaZn`!y)b$`J2%X7oJHgP;NR>;ZclDp_9-_iUaZiG7h=bPs;Et zPmJiz3Itb(Lum!mBh8WCPHw zVd+)aR#}XUJ~Er`W$;5YFY>Sdm6^$w!wMO$EYPVbaiay3)k$WS2lu*I0&XQ-mF0#F zfWcztCen(8w^o*14!soCSqt{(>Kn0qma(K1i9i)C@i-UjtCg;@Vk1nt_zqQ=>4jSW z>c8u@Jj(DYW`k=-7Kk-1;FOjNE0MRs@sX^!uU_Xe$KM$ji&WgbX`HD;#%&tV5@Co7 z)KVv)U}g!CBrJx?%raV{H4Gl~nWp?1b23<7ackJ@8~!c~OB>c5mX^vYvYV!h^5t5( zQ*F4Kl+uV$bZ?&gOC_-POcU1@m!PeY<5f!fI040)2Ij2X>KWpDt8%`k3X+sNh9ee9h!(h+;TFvI;*=~x!`e&BjmfDS<-Fawb3QGjV&@62)horacj$!R2Q}zHR zn{5*x`AfhGQ)Kj7I_y9OYt;O;VJfG!4Jl~zu{i(3W~p4thu#NG{;-gawl6YyZ*hNn z86Mr5cL{ifM4&DiPS@;6O;`Rnxo#HiT}rEa5PwvQmzqT}G)i6fztgi znjTet1tV^_R^N$=!<5_QZ_r2tD2Nxc{kT$CN_h)jy%v8Zzp|7!v&YgJ7nM}aggJXg z+58$eVr^$ui^<$jL2N@n-r+U&2;^1U}_apAXL#!aPH$s_6Qjcjvx!SV9TK}_lpu_3(&ijUOxgW3RaGI~hBUUd$8IEQc&=n0D z-zcI&|LSRDcGh_N&0sMc20PO1NZH*aK=pH01=ghu4k%9isum>5>mlUQ@bFLq5F z@5P(%znKLB66aD=>o29F3qaZ9HRx96KwpesYn2sm@?dV3=@J<{X-Sxk1WtgD5!6)Q zo<{n+eH*9FiAz;s2jIyYqM8pg$(Zx?Vt1@{!@`$_S&ms!T_j}ot6Da2l}*0nK;xZwL;T{! zu|e56Ri|g;GB4E<6mIR>VY8oVezTx#rHi+!5yqxAlJD>5l9E;f{phFmF#qz{a_BJo zl+ABN2V(V8t27TRDVGYlR0jY#gy@+uO+HYh+^lF0x=6`m^@JtNKGj4Ia6Ma?(%d!~ z47r$&@nz)}aj}GftM8f3oDKTI>ob>T-s-&&ZSqXwo6n~r@f*Qw{)zK?DAF+S3CQ=$ z{ycxazX-p_P$^f4aW`#6Lr1p(L$pFfSMmb_k||1A>Et!-Ho9 z&kml8jCC3afUg0W`Lf_G!8?NY1lI*O1s@@v@RPx3k-89f6cC60Hwop35zQ&A&S?v` zRh3Pp;>e&))&}J}XIzmysc`Nfx)!WRg)|kCh~P$ki8wUunapplaWT?r8O8z!Qc$ua zE?6yM0UT^uC&gRR0r$eJ0#1->Eyg<~H5s-^gFJm0aSH{P$8}UzRX2_*lj5m#W(r|N zAYTzOpoAjK?UOBf(W!@*9b%vob2JQiZ)em_o|{2ffxW|*r71E9RRW}=Fj&Tg7)aBy ztyh@>@q0~)s#^kF#yFgIzifuv+`U!ifx4a=y-J5re-AN zAQ#L?N&TuQl1? z&FK}<;O;)p=4D|kXz^U8Ua!TC&#f-4MMCu11ANH zg`#}0X@?Ym1c&T9g13Z2RVI|C=3oWJG)Dp&kRrg0Bc0PbEjYaurjFMmS+&ws*+#u$ zdQEU-cEPeH8;jRDHN&0sa7<}TOd7%?b!S;&oxf&y7s#e`N^gm0(Jv;K9_Y^&S5NN{Kp5xIT< zUTd*H$Pj!G;A|h{9wrG9i=%o8V6jR*>EjfPZYW%W8JvQ2l|CERhwKivr)umH1f_i5 z_I86+#(kq%Xx)$vOMPJ&LF@BFwRCY86c}C$y`+d(>4c#j+n*@*!c9zdw*ea#lDJHb z>s%q4pC1V4f~WG$fp`pFlI``?nQ$JwLj)e7u~dcBBR^S&_S6B4`+2XA#*c%N*ZvKj zrw2iCsbie4A-R}bF1CkiunYq-&Mb^Yxm{qANG z)p)Q&r5ZY>W|CgUE0#46W0GfjHsR};0!VK0iHH->Y0SCRQ1DPkpB;E~tzcIQk{KP0I5eI)_K`MKUo))ASB(Jq<4|W7{#* zNlQoeT2A)YiBaYCDp^JLoZ!%B%i-4*BFVkz{PulAa_H?PJ4&Vyxh zdo9l8Og!3Ucj*NIuNwAL8?+PBnJ{c{ZKIDTo4!77tQL#KzPPt1CXSUgurxnn`CJX- zDuOb{_(7{?H0$g3=518%dNMGC7l(a48|cBk&+&eX;1sb>W-1756bZB+MU2;WGKK!dBu#3e z*X!7)tX)`6scT1C1_kZY`uQfVe7D@(wGj(BB#&5Cu>F-nd&Wx!(#5CnA{&E%j^pY} zv5F=0x(TF|5I$ljpH%DXDUsJljt4~tv7@1j2s@;|PM@&R zOB?y^%0Cw;2kV>i*lX9;LC9TB35amVpRF{C2q7}!(=@d54$qk`RWxDsW> zsmZAhin0?)R)M#`edZu3CizH%GP{#bp#UyFB>B6tzAS47I^7FbCCi~T5>&YcyM{BkMQVvo%bKDF zvfyjbJr%zj>D4K4b`Y(`ng#}4&6c>_z#&V>NPl7QAtyL6C2(@db=wCYDlr*>tT*IR zF1w8|K==8uNgS97W6NPVH;Mt&P?Semsr8Eqd z(n1sUW4)O96R?y<#O|JI3acLgOX-7Y{YCZqs~OKn8IWZ_6K~Uy)+NbH=dhHnv+1te zU@2h$gOE^5*kLK1zBQK8tHDxw9%Uo;PVmw|K&iD`6TZG0+aSv7(aef|({ONq`r&80qHao_Y0s=xLBGkCVUb z(8%VHlt3%oNb;XCXGetonQQH$>I#Z09LY1fvh927C-)1Eq>#rOX6<^|`9PE&(v|L2 zDAe~vKxl{zn|gU|;hr!GcElg%=dTjFnUIwBz-)B)qX!c8oeoIUZmg-Nl^*~k>PYLs z>e}z;4J46wyj=sJ#)@kDVz`jSR_C*l8D7%=ugvZ0G=fDHR;FFgsu$$t`ELSZ7@&Zn zK6ihdsM#^$M71*EefOC~_*sHXoaxE*X69u^GYd0|IdfpIo|!o=^McGNAga9r zB#qaBw|IHx3J}%amANMK;mk+z&wM`fW&F^$Wq#ykye_XBbd9?6%S?GY<9Xf_&+~rX z!QRtdF7$J}(cMl~6 zWmh^}M@b1fItqFuN=jCwA5D_eK}(7VpE`QT^wx@qID#jFCQ{af3%E{Zi*#y4GzoW6y_} zO5>i1XtLR&p3dBXUA!@9t^5lxNAZu{Js2k}hnq*Fu+sq;qAU+Hx^hMn!hF)Jsg?(M za_+hjSJiIC>uhp8YRrvc_?+3_c+=i)|4!lU!gEA8p0lld{BB9dPZ+iB($3H!>7h_>QSv0nO zjRg#M4^iK+Ly3#0Z6fX5GY6}SP+*WxC$ev)5!tGkI!7T zzQaTtvbR4VZ8##cHuF4Cc20#htk1k=E86g$%)de#{=*?H-jewi5h@$OSL`A(rQ-E_ z!{D$^JKFFBXu|zTn;BeZ%{n_XF=P@2B1` zynDPh5!JDu^BbVZHNlZv>d*MQ5K;YP|3H83qex+9g2$-K{izEiNLHqjGxRw6ijar- zXpZof<_K|zDnp(jh9cE+PCuaisWeCO#Uz~7vE*0-ECF#^^cb?{$eReX0*bdLezd!Q zqZn*C>7@GRB)Wo#Bqq)KnsLN_iTHMp=Jk#@x2-kDNS zj4AQt=$vB+rAL6Y{?ngASi|1GM#8%BUG&O3v~U&tU?F^AT~yf>E^!RpLNaptMw}op zk<+(jE-w?)ImF;GL48iX+M&x{;WP|BP{!rRk&cQNlhg|m&GY?&W;PjNJH zF+An^#6B5HeoEQ%7&my7tBn=lf!6eh(`I$Peyz#`gGS`|BNU`b%ELAPm;K(ed1GbcB)T zS$hd5c(<^m_s(&mcfggt3{zSN^BaM;Pi^A%Pw;*3h&gHDR>v$~mn833d(Wp6-U3Uo zGVHci?^9UYd%`AS#EaSov_BF4kH7Qmr=GHj;d(cVzdcSEr@;@wj0-Z^Ob*$%k(r+v z1Mg=^W+wA^P~?uLuGR6N3BL^4_rf{J_nlykUk{Gl&2tf$Uqbf%F40Lp&HO5Jcjoux z3RxmAclLG%XZ!$SE`Pvq_?N_5(a`BDPTeIpSWLb3{x&h+vOrq&0@Og~$_cs7X)`5gw zFE64JkB%3kBkRe)p3kpmFHTBPDe5nEw|^G-6Vo5;PLda7OVKICVzft3cTf9^xnea} zAB?*9in@#4r9--VqP0CY6{Dn|_Q#iWgGjUTt+~=u+IM-!9s8^s$Z)$AV@dadk0$3w zrLHbJu*))asaPtUUCKqHM2m4tKO^bsFPdwkTwF}Lj8|`8a?IlH1ta#jW9VOTzoZgCDq<%<}bRQCxvKL0h;u7`jx5eE2Xt18kE$xo>EOmb)>go1Y_IT!s z4ZlpIBeVxUBagIAy=NuKYdVtbB5>qP?JV3Q1NfQq;Yg{cukNjiO8I)ey>0;4wZv*- z1!OpgYZwlWfEL79d%ChUIi|ZX+?d6LCUlAg_%jfH3^G0c6;-P}YwU}vRS*&K1V6TW zp#HCeeo!Z~_6|&*aST>N=~X}{9T}z1R`+fqLWLf-FH7F%zx?Olxy+HF*^kg(a#lG` zzMqDr|EbF`8@At7&zB8QSAoDMwE24T|=!|vIa-?=vJuI7HeBvqBq zVwV{x_7a2wi8QnSh1m#wJ$saWE?tzzrj&SJXHw3o@dqTT(?#!Cyg6+`DWN!zEG_y4 zREUseZ_pd{cA)a!aw;D@-rM^hitYqZ97&%Kr)_UHzkJ)h`>Y4qrJ2l%`!*so++p69S(SMT_OWMVo7#!YajolOlARQrJ2f53ms;JSPpcQVSN8s ze{iD=VNjEv)6sUEJB0v;8F}togmWm=K$k19Q{kx1sQ`|=fZzz)av>9NZCWL^fj9=D z9Iz%43c@*V%Mv$$QA>QAzzUt}d;-0cPZeAm_&BIGFr`2VjBV1XXiK36TrIQMFwlf8 zT33ilZ)IBTz)}^10sqeO5Pon^7Jo`BkbR3VW3__UhieIjkQTRWi7US+%N=7@9Dyut zD3wSZgf9#+6!b)0u2_>Hj#mNLZDma-2~{E31ZgyBbxa`_3gD1jf;&bEBOWG!^Ww7M z&k=X3^9g`hjG$Okm$gp|~w52#2u4cT|Nuq_B81HH|C>#8jU+-(*iSQwq*|BP)K5k||;qn~d$H}1)sN99RcOUox1BEn~jiwS$ z2?G1}S$kgw?ugfb3;EuX&%g4~&f?#ZK6`!l>$AV&5BuCkh2Pxg_K)ZK?ER(s-2O;+ zl=#0$jK3uEdQxgTc;OMXh~pk_?(Qb*XZh9G7k%*SM+mH($ypgCI612_PaA}41QN44mv%R&r*tK@S*|it=NIx z>Xq_dDS(N%u!VrD7z+Y6lC=G$)b56Twy_sZ@pMn>V_5KOG0ooW>Lrq>f|u?*d_wC6 zm*Y1(+u+{8=sddGq`Qq1b9^GF%Ii{=SYZGlO`h(>;g8F9uaSrzOr&Qbby@rUsOp!4 zk3F0YdQ<;r9lS42%I)QeXHWO6f3Wg&W+ERHVJw*jt95L=&si?{m7@hdsd%Q&&!u~)Tep>deWK)^Sm$(aFETbB1A{fKCVQ>Lortgyblj zo@u@8YrVTr5rB!FLcGHOLry(Yh{mf#7mF9pI@v8=Hnvz{+J#Ok8=*P2ae+F**c1EOv<+S z{x)iK$9dK(=D$r8UzMi>hqOOG`$KOUU&3}APnWwGt+V8GI#l+*d2_*8M{jE%ytw0h z+9oLL%1uF8-;y5+UCOS+_IN6)oPx4`m?mr$rv9yR}z{b<|C0&j0hzjb8S^d#*Iau2L{5-yLYGnIgfPgjhzq+GuP0N(FPt z4TGNPK~=BR?7LDYm8hzjjhRU==t-9Mhdr&LJe7qR7LxT=swr+N3B;Mp@% zdlY-G;G5(81dhxO#3Pmb=DW~1k`KqpJ}fKdzO(0k!)ZKhssIv=UF)<F7SOgg zS=yZRmPIfm?iw));cPhdMYo_*1PlG4%NAKmP6N(PcU-nEI2losNLcx7@j)Opj*;_> zphtS&?o@2xWjIMP^-7yI?WQnX1q}VsO^dI>iS@nr+m@TRorKmUMc?y+ZX)K6IQ+0T z40v8|+U4U9%XSmS3g!@ykU^aKCc9%8CVmj@7;-&@NvMS<5#;EXpk_=dyQ z;b6-ofkW0O{ zl0Sd7_aQVl;XeJh_e*&xvA1Z=Od{E%UWm(~RG}&$wWGoj^+m*&)(V1sWtsF3N!;!d zHYc}a7Z4kPR)gp+<|)NSyOnQNtlP9O$}%6>%1HH6Cs@KPQDxaxMo=!G6U_(}pvAge zpuZNN2XKFs6%A=t(LOj(nPeBR_EqJMP;ded+{#7Saim7Kl$CSH!{{>?F5?PD)^hfh znaK+A4cti2l|bNjkg^|Vh=riKlYVGaQj$8wo@j^`QRavSLn*B=Dl%4GH(Qf5E5JQk ze8|5EK(BIDb)Y%I#)+XVtAwvK2C@EerE0Yz}Hc$l$ zNb84TFN5i93R4N*qDn{WJ5`UorMOaN-^@OK8=Ltj#DNm{+9)heMxmoBs!<;tkQ7uT zn$!l=+$=Oyv1iY6loST#hM{&ulu&VGF~7^#Mq$iv$=i~q*~!%e?na- z`-LuwMF1N?cT%WJ&?a+y!oGc84o_djn@?-voKGRx^?6D1Bse)7W>dwWe?p_sm#Y}` zdblyk^h9uXN(Q}WtCB&_P*li+)C@Y0auvx|*RMztSdYeXsr3n&57WYEw+a|GEc$A_ zQ7J@FHnVFIKP~nkTPB1AZn}x_pKRu!Q3(Ntqw&?nLle+L5Q=1~!jc1Vkx*4_(jLTv zW~AEaIvPZQaW|!yqeSDXv_Y4!WR+FchYq-FF}6T7meC1FQgc$IP~rr#n`_$jQlvX5 zdmGxXIi$P&!u{@EJ7K;+b}5(&DBFZ9A`-1&c3BUiA`avM`6(r!Q3Vf*IXh4;0DH&^ zJ`sT|N~6n;suYf?4*=3orhc1QPjW-P8@aB0kUg+Ip5pKntka=0&b zmNH?i9)6Fn=XY{A4*kWVeg?G*U24>OicL|ryc^n2goh_ra?u)gWM#a(k2VNnT_I#f zbOj(Y*b^)_O3iSkD|o;%Lt>9sNl>LfJZIGQAo{Z~**XiUyq?6=C*whk3K);nOcI|8 z0A!l&Vj1qNx(LBAYw_PRA9t}zUv*Vs?*vV!Qx#UIk39}&V%VYS5Fg_0f)#hAi)cIo zNkB+CCm{)(=_1{+(t5vVyN7-kIgfRJ$i*ft1MP7oNE1&5XX0r8Scfxls_MSX2W3I5 zS7l^b&8!2*epq+#7e&0ou7Da~wZn5*HDyBLCqevYf%U?#F~)L*ARHuPh&zktOme)O z#lp)J$G?<|TGkcE}9NTq^w-hgtqjwkU^q+aoOu4Q03Yc`EpXjI%YZM~HVX zQGg8>+Q7A zyQV>%;sL9A9P`$d0Q4%G%t5H1RmS0-0L$ky&$- zs|llPjtXfeTFuyNdjF*Qwp~5iED2p?w`tcZy#@RQl(UJ(!us<1=!)g06o~^-)QOnr zv_a{m(L&u87acgYpP&<>Mmppl%HAaM*tCCW?H6T10jOt`qJ5(>0iXgbr#j#u^_0ZP zs+W9|Ajo9Z;hf=#6UVfFXHTqOQC?_IEP#sBJ_j?H7j)v5AqaaC$h=qDbx0?&c|G@J z?wgBvKDpk$$3;OO=|Z9x*=wN)Np!ZbihfTKH8NznM&Yz}Esw7&6}$a;et5%x$5w8$ z<46$uBp-tTC#Mpb3Ojy1ldu8}y>L=@&IG+bQt|+#r>i=ecIV2YJR7s53QAF2&5xN0 z&PuGZb*802Mvt7uv@wt(s_1z-OVu(6P^oue`+QjI?ZmZwEIkQohsbv^E!tH~5$Fjb zQtkJW-7{FfmJs@+>b;u!i|t*4F^s0Zk39py?$ZNyAjlyrTq(?--)ltwtcMUYe{vFi zrhKXXkm$7Bj3?&uyO-|HpKFw6CsyrhGn2r#123|Utt)Lb3Ja5-z6;GN8~2%0%Pa$- z?Mh_LLOkulHC^*0o=}Eve4LIAgjpK@y#&aFko}QDu1JmMdYOWBX=(lnnh_olIZnwh zfhlM{dsLYVdnUg(jmRM%A?3-aCi*QSfMiH0b$L0nFv_x{cpQw1YmokUZ%i9kD+ZQR zBq}g0@)oE?4xdulHiV20e3fKd5-3qwVQeNHFW|N3tC+(8P2zurnsr#EVHu68KT2L< zuKU2j1_H0O3&{Q|kZDD2%Z6Hn_1JoMz9Vk3GkC+APR3L&P#=w0WG=~dk+{e^<{g@J zf+OiXq7R5)(idIXlU|X`0NXs0X=<1enx>kMDwGxm%Keoi;ZW)*W_Asqmm|ESq&~_b z1knQtgygh-}UaWEWPsgKWuU6aO*`;9vLPUEBwrbda~kJJR_UPjET; z*LffGZt`x%qxc#0(yx=1|7-Y@kKNb$#W_TzQGZ8&l3JE4{5}0AIxclMnfcH5k0&?( zWU!FV@n7w~fvP}P_*eQ@Q5EPWY65-I$CC07TfZlhjfR|->R1ho0Hy}nhapN1oSAMx zVc`N|q==x7zd+QX?k3_1{mYo7g!f`GpPMHuA z7?3U;umJ5y#RmGQV=mztJV1<_rt~nZagR{Fnpd-@tvTbMCj0VWRKhUczCLeX9uptUQ$Vm4QoZasMKKLe#Bt9F{`d5tL*( z@$10_E56nKE$Qz>yO#PvGpX$u#{2I)OnNvFFQVsZNPMkV`&lbgwHSN*t!L3mFlyU2 z-gsj#&>KIhm6h7vDH~H>m%o4^rcY1T0NYa%GR{~?Du?Tr3)y0*W&ZaopS_qpiV>g$ zwgl1}zKL0BQ5jn@|@amw1+9??J+;#^Z+_jD)qe-zOXhuYZ0%TOJr|%*Z~fSii_2_ zDc54ZR~P6{JxHHyyf1-n0&oQiXWhxhyy1q~4HqALn|(;&r-PSxzuU=}qYfL+cK`1t zP}3T?P}{GwvJ*WKx`2>o9&$aEmIRcC3v25pFWwO;ffRGrnRqS`x9p)1a3F#RHO2KZ zaM3!+8s%Z|PB&!^@rkHF;JuU)4gvx=IMR37NL%CG(y&dNLg}GZa0_rohrm+swLRop z#r)aQ9Q>`!8`MU*@4mmQ+9=ee?igL9m;GUFlveRCRT~AMTb0+JI zil16#T96MlwgNj4(xJEhyWY?%FrKU-)k5Upxb|f)($@Gy16q68@FfGw5JM4UCv5w( z2;dVF)VBSY@H9-iabNTYlT4BA{7s5+K3g#w>V~)8>JN5KqdY#)s3)WUptVtEH*Bvs zil01+)lu41>Q3yoj!T{Y+eDtC*_Udpm&%T;u%!o#N50lJZOuJBI~U z%Y2i_k(j8XUavuZ-|_VI>^@n_PQX(3V((>CLVlh17EmMJ>0RTW>96-M z0QajxMbY`eSgEKJjSA%Z{cLhHUei7Uq z{66%sTIWGhX@mpe4&jn;w{T^+Dm*CsTKKK-w(ySduJEVf&%%U5&1!R`S!>pr7nqltmz#6s8Af=Q0T?J$+12z>re)Bs5m7N`$->qg!M@_c9)_{n z$jpN+xrsI)b1#+|iT2ob(F|s=fVqPhqG+wDwus9l`vKA+`;4>r$XL{xTmcLcEhETs zr))_?UUG#4AcLMMxKp;kvOM(I;IJS=IVv=R6At)L~C3h0sR}72Hfm9t4 zNCB_n#S{e;ZEKC85nyQ3#}3vl&l-V3>RNf=bXsR|YjP`xb-+pTL^jY2x&UxgGrE+i zn^T|0q-ih`f+NwEP_HH(!DS$fp-kW>Z-ZIp4N0LG?)OMCVVtxCt)Hy$CZXzpe>vM2 zN16O8&p<1IwQ&z0Xh>?DrdT~@#))N;n!$uKU%b0X*+DrapCAUpF_{2mzUR&J7`GB+ zv&9@I3nHO0*Z{fB-OFo35i07Xvk26nUI6|A=bq5HX{HAsu~Z{$j8$xpdXsuB{N$Tn zG8uE<981(Rpye@mGf6maxyq{SXn0(~x)I-%Lv;jp%zQS7IGAM-xZb#CCEk*rw{fumP%B@zTl+SFx=uwPxrMYmC(k_nl-fsM*RS%MZ1YhdRTwG;7VAoID&tch#-f)~8tS+(2_& z(3+uJEERT=770V<2RG;!+W>?+S@NgGT3XLAcnJX9dOv?S8o%a^Id*SVYq7KNwDxFr zqyiCO5k7Jbd4>FF#${617GtJ{=pE|0^NufIz(Wi`yMdFOV7gc#tmiT}um~V7L)grn zecF)|b|5XfRmd#QXmK$!w972>wnW^9D!tsy5Y;9?_x@yOUNv6sr3GdfF-%K|@#CBC zU>h#bnr*GZ1P35Gk_iDS0!BCIUh9PX5ko#8=DifZR;L~-0h7dkBAi5+Hu=K#h+R#F z&3HZ`rW6AQ4Ge~f{S7IojB%M(`8U|V0OnY?<2=QV1;nCa&+||v;HKE?Xow%hT$xB_ z&`gqhPnDQ-sEPIrhyz49q>USs1o7y5Y5EcQt&(@ct(S8@ym`H3r}iwI*}n*j_(0mG zQ|*&nq^q6i&fQ_X;k11g7olFJ`SuUEXH8T;gGMLtX|I>vklwt}QWHL*I(j;LtM$<1 zDK~Ft?*I#}VWzOX(up;gQ1N?#`c6-{2j$nMA4p1A9~)Q@>&{Ax`ZIz*uo3sks!HR@ zUf47d_$m!NhEmPx?*P{hV4t_qz+i+i8^bDrwwP?0pF*-6BQYW=;v=O1bc`PuY~iJY zgK;!!%h*(DoP)A!G93eiA(uY;|Jgee0J*9v{ny*8-m9)xYgbiwsyn?_8j?=vPIZM~ zh%B;b01-$~A`pSFgk2&Eh$tYkiLwa@h$4!L;to3EjJS&%GcLnl1zf-tah$M7x{Lqs zyVVJS1OyB-I;OL9E$`iT?|t{3dzSBfhgWfNaM$pZnX+EFn_Y5fR!0Q2t1g=*@97lp6< z;vcP(LLA$=#MiRn)UGT!uZO7@6k&jQNB`n0u7`GP)MX9P8z|A2bh2pe%XC@$a@<8; z_LQhJ1@Ii>6#Tq*Mvxo{e?{MKG;!Oi(|upu6;)3uW__am_n21WvtW4$dv7dyD>S}r zHa`!=T~=z?nyPwtc8y%W9-YWM}g6No36xrKUe5S>vYJcyQ8tJ zH?^7(**_1xrOeEG!I`xF4Z`KmG3aaQl6Pe(UhS>JqgdNcWN2y@DNhkjfC0K_KRfbl?{Esw5y!JE1Gqb5Eo=Ijcsi zHS{?U0=zitVR_T1!I3oRN(h2x5i14}0|J9033&K<3fmHYdSYUWM0e;R9SHL_Qis1)zGk+HJjs3V$;sx^!%RcE&l+N-+dcg~2su7Pk45qhE!$UVX}Wds#5nXrz_DIAE*Rd_Vw zc%Unui(90NuFyK+k>cvXIjxW9%UsU`UjU1paH^15=9%qYBm+Zb6re&t#FUd|TMs|6 z3^S$tj`WNShVV0T9}ZxcaaO!3!t8rpUu##I&>EI&v#ZP1bcNyGqkJM-r|BO(sOC+S zU5@xCbjOJKH9*3EH$X3^e>5H3b=u<>Wi|B3#Z{!lD*8vzk?$lENhakS4FixuOb#ic zO}8fYW^~X?O{5=FUn64v1z*w6U{?P zRi>oNNsmN?iKu$PEzAyZdl>y-Z%j=}wa(O4y>tcPi5rTW&EBS&VSsdJuv!G9%yQEB z$#pN4wEO6XrORiz0?SS$gp5u@Rx&(Gg}b|yrVwP@bRUu%4!8tPIvC0Z~p|52zx# zN`VkF=BToSoL|z`Sh(#4pxHx?0H@-NUPGYf5nKe2L`4$Q8P7}XW$exxaj(BOyK||# z+&$Pm%013~oqO6Ai*k!axy7Q~Vo`2ZixSICmMdlz##K{@#kS2Q(`mg~wZ)FwVn=PU zqtGe-x*hd9Scaq{h2b1yp67vsU%yhk1f{67VF~~tdF)`!ZRa#c+s>{UtO=d zFECoY)b*DMYwf*4ST(pH53~+3SyU&OT79QmpRxYM`i^y{^&@hpens_|2d)3M9^IwQwa>FJ0ipID`vdkz>`&OAu|H>j z-M+*Ao_&}7Gy50zuk8oyHTEQlXG!YI%yLGZ1

                +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 literal 0 HcmV?d00001 diff --git a/digitalWorksheets/fonts/Capture_it-webfont.woff b/digitalWorksheets/fonts/Capture_it-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..19a5e2f638dc9cb9f1f5537866fda8b54b55bc52 GIT binary patch literal 90232 zcmZ5{V{j(V+x4B?vF&7I+qP}n+1R$Tv2EK? z(AC#9?h4}K01yBG0AlC?K>RMj3`PIPzpMZMAug^e_ifbt*75#>L58=ugs7PKx90NA z3BExHI0k?zs4y^pYsueS<{RpQ>cf~Ownh%$+RiuX002;Cno?066E_z^000>O?E(8A zM8T0QjGVuH!2jAp{XZaC*m#K|z~_9ovx9m{V{@{J3SBsyJNBM%1v zh+g!!5%U{_Af^!Mc1E^l-&*l^Tj6h?2m72Vm4m&r3jjp_*2EBcOOf5pjLpC2 z@B6v|5dQ(bLixXO|2M0ENxs7A|H`3r9EJbNDTiJPk2MoRQ$xcYpfNNAlA*C7*g%fp zBd6UT!~pVc z!~#ZEJIRfsdDim93|{xxvTV)9vf?@ec?Z93&zW|JGYr0IKVjUco4rg&I);>KLzUDSBv8BSQ`NGSvZ;D#l6(Jlt&~{Dn0i~URanE4>}&O3nKwG zfJ`6gF!X^dCNG8{gn6Kh1dgn#swkwVIE(IvteULn9*VBGs)nWn*1`PutEbK@5eXD@ zFR%-kbXvP#b?tNg?0xN9NBh&(LhC`XA#Iq}EM`NpI^*6>dBe-*L7a*p-5s^)X0|h7 z*C;UDUOBNk%N@0Uzve>F&61F(9zSOemo)7u7Rj6M`SkLIFV$@L#ySCi2z}{kDR!xL ziGK;^-0^W6q`i1lp z;d`RU=!1g%U6@cz2+XH=CEJ?at_1q>x+7x@>pr91A0wLRtV=r{ zJNG{~A~Zk$7JHD_X>U?SYhRYaSQmqr8NbY{8!gy!+#6M`N2{*bM%6FYCdju@?KA$Y zDrdv!Pax;T{|x-K9^sC)~Iu-@*ezS>jj>mCN(&|*zv&D1R)h?uE6n*Nxx9!T7r zG8kL?_1T)!G%gxLvIt!+%+y2vj`l_5rifl<4|8&xrNK+#!TGhU)AqULagFwZ^k9EJ zMqo%M?5-6vObhM4uNf1u^r2uHA6?~e_0!Ka#Gd}fUR(nH_2n(N<*H62t&<|~=5>P$ zuRWW*6>N{ES2Bf_O4{zmYOj7qv{O$qPKcOC84@)ExB&`1I@eckU+6eYFKpJL;*ZpG z;px8Tty>a(TRPSnRk{@E+GCTnP@{PBz#CB+#3(XigvO-ZC_ra_l`vfawSy;N$pQ{f zNo9{1G1ShkO(LuwU$w0oiaw!@WlTCz5GAa8p8{dXb&7M--3-N)-O;OdcvA@vdS~&F zxs`8X)|3?!O7hT)mY-&*-vSwyzTQ&Ft4gp;Yq&*3<~#eYFmTtTB7M2D#B~w%#={oA zmvPE`wr=o^|F2h_Yp!eLqtSWN68w_f65SF5%OvTc$t`6~*3$ki?3s(FwBfKXqg}QxCi)CrG zREUFd4SU#bWx&Y9YQB8o^%-$Xo$REgpZt|?#(c)Ws?505lAD|xq5Mnff=%X4wIBWG zPQ~>re6%aGlNVXDRhc!`wZ`WqaH+VUU`fr^sWKW=4vnXvRbs^Dmp)Dv{ixL@O>I0Z zD_8qY5k{N~5mge6{;jwc;yOxG+}Mw^ z_{7Ai3p3D5y8DU9@42VW@UUmB*|p8rsftlB6E{G|(XXaZSWRTnPWYR;2X^>#zr5jFv5v*_MoQ+$Qs^YIuSVHOxDj_H9GVI^1@w#kiC;Vry+gR8ccSJ(H9Z#yviZR3 z$n{C}3EU92BWp|I8QVP2clz;){YvH;%`28mwy!$N`ge{vN49K+9KXoUxX zxc#)->)ZDi;6I~J=Y-(gnqUZCy=*diB+N*eVF^JJfHXEJ)toK16erG7c>?(+c~lD} zdwog8Pk@^?3p5l~ymSpX7?K*1GSo)cfMqqTF*HDq6U;%LEmPV>upC>7eSv9!DjFoL z;6juT$^$AFd~K|EhL^P$at`UNYEMI!w=I)IfR)r=%*;9-1?2?kSC!# ze6LC)tfD>n>EQ3jQN>C(ck)7op|BXYZV&->9coak?G(x+WV1c0a@1tx7Vy;7AQYv< z=Ls8f4WXuGgQqfAEPc+WOm8@X^=N&KxQy6-VO7jrG<3KyJL3}euo8gEJwUSy+U*f4 zJFL#3aQ^4S)ks7JHryuU!X|%TEC&nDKdkUP49WHHMS$~6yE#E=0FhIcV%ej{ z@~$K5GD1B$f{^>(blP}_xIl`g^ zcIH}u^!VYyoy%LZZl@c7(gnLjK3@1Pdnx<5HjQt#m#?)=|!_DdXpg>JtHaP_F%Y)WwlQr>gn7-C5XNeU=8;2aYk`?;3@ z@Q59~{Zjk%*D%1g7P*=0t_XVE$CXlpBxVca3WI|SWDdHKA3M>LC5efl9uMYJpOA5%=_t&Iu}}1-q&nz|(ov3VQck7x z^8ELeFKBKulF2)@bd92lQkq`v=^c#nV#AnP^ohTilPeBTz9x!+am16oGhzOZh+gi# z{)QiNV#Gs9AqT}bQv4JLwU1h_xs0!)q2s5%Eah@7aKXuEmBoG zxL+GPj;RR?BsI=t9;31-%oM@^9t_bj9{FQXBON;@p)CsOn^tN=#zn#<&roF&uV^Lh z+9Y&2Fq5wNUbVD%SD0p2<>=cEZWi0t6&#vbKDY1dO3ll*gH<+{?CZiV-g_{;l{>J# z7G$~atfwluMBmeE(VAXE2Sj-uUc9(-Vg^AbFc=$IY({%H9>Zg@pYrX>y66p+C%(#3 z&A*??bRj}zQAF)OTS++hLKF4Kh#{MHx&I;waSow?l5I_r<*O?#&F$@06_!gOMC^^~ zT?`0; zJL4Zxbkl;;p7oAsSVI4fQO^aU?8L#hyg|_G%OF0pb;4lKcqI^o--A9@NzbV+wc8fM zyv#-n=E7d8{0ng?U1<$9VA>JJGJAu=83Fv$o z@fq@2er&vjK88F-w;+fn5h6fKCdi6ginbDxm@+gnIJi9MW(#h~FFn1!f*%k&adkxL ziuB6Dx}em|a^shh^z|Lj+ny44vTUYY0crmcdSUtE>d7t7xX-DaU_S&u7{3|4(Oxo* z=^i!k(lmlB8P2azu1C?C{#vECac@QB3BVuN8c}abTKO`$hIsO2=lRk8Ocv(tALI+O z@=SM;x5BZCf5CI1{{--k_{ikz&ow{i41ml%BGcbx+79|L{CnUx!Upb2)EOad+#qLS zpBDfb5J>|#iA|sc5rfz&)E1(NfC(4`0*;DiHLHH%)dDS*zymB|3XsOYGfCFzB3D|; zX5E8-0AIu~R#h$A@T@_HLJUIjm>`PRM7=5N1IUwMZ1U&BoDwbw2SO=YNSv{LSB>~E z!$7fv&CnLCFcM6*eiU3$s>1XAu-$2h84|?-L5=Ec=*vpTf+vK$A`V9#t&hHktP4a; za18ECaokN*p`{`V<{&YUaFfwO|ZDMVG|hv zN2=@b!9_2D4#EIA45*eYksG`N3*b%7tR2xd^H9fif92qCACgJr0>era76)dcQy`ox zE3GJz8`})D=}9OIh%k0Iqhb-daV2+@3#+t`#0jG{*18iMe&|1yVZrnK;5~>`>rY5y z7*h~BJRs+dk_HyWI_ssC(RTj|76FuA5XON6AOiMtj{_M(Qx5CWuMQro%30W)gqD#t zI50^pzh!V^9;U0vcK@j|e580rIEs}OCx$p!ZHC}PtT}uFOB-kgk`q+LT_a4B?1-D* zgN>GMA?QDY68jiTjw`|iCm8{8liKhrOADq6nj4=UMMws_O5E~no_SIHb5WE9P9GOY zqI`>_?2L!h3}Sd_qGrF35(o*!qHXz7KKL)dj?zXfpOJN16jX*06(I(3jP*QL2wE`; zra;og=!oN1rc&chrg6w2ptLN;$LAHviqG#CcCGxy6**pL6a;57NT*m994@3p0XE!U z$Qyhr!?pwtg%Dr@Od*p=k5y5Ba0be~IdQ9F-};AC5DUkxC2Ky-K2y3A9TrVGrQW_1 zV=g=`*{wnP7xd(gon?0WNFuVV$kXa7?NC9pp zHDflh?HanZD4D~WYXgaY=Ka5WiR=BtU~WpT>8xDnsI6*aKBxO!urm>ISf$xla!WA9 zFwb^T0Dla#r#nhEKz4h!6N`1X9f5PLk|rf;h6%NEOoWH>=bu~VLi#h$gyln*k#(k| zx~>l6CgRqGq;nyAox5SgE$_edB?Z=7Y1>X`4L8~D9uxP*|5yTG1PZuxG^sFLN3az@ zRP)P@>h2yo{WEy#SKfPP5Wc^V-c3S-Esw1Fyi#DI$2qsTOAn3|47`6Fqx5@DBBLqI z?*ut}Isrrd-aNn7b0()VUkUSe4}K9hA%;gi@e?weikEPtf}{)6BLG-VwQfSO(!-~r96VuXV_QK!Cr6!QlN&jQKy~Cfdu2;l7H)gyn59d%rS{1 z%)FW%15>HauO_Vyc(I>K^xe{CJVGiHX~ISqio27G8OM2ny}Cr*?#IY0UTqkBZnCpl z&*f84Z&Ky+9zydBi@R@A*j}3;*i*fguRufzZ$#V(ISqN@9j9usaAxLjQni%ri@VUb1>+;3OojMqCOg1EmcQb!u-2($VJZR z7(njf^2~iUM3byI@eyd^%tPLn5VUeo%9Z8V+5iG?LohP-bkpgG?+qIYBhL?qgS;I7 zwPo@gkVsqAxi|Ll_-Q!~z5F?MFuF&b3KmOGjDxPjhN?4nexJC>YUKN*b8Y7nyV>ad zS=QZ^GBKr^&0y$q*GHRcY|%vz@H)Io_h8&weKxF4zcHi@mAWG!+OVAsZW!WZfeCLcAL&sgA(z+qvGJ$=eRWFRI1Afzx=lYnK%=eR)2z|tGX35O ztz&VQxB^Rw!f<6!aWRgWm-ANi$r)4*EuiCm*%`l!MRImjr7283d_28z)P{kAnpoKN zA;>id*CNF8;QmJy)JF#bnuqYXzY+Mj7m-YN2M+W6x8|jFD}#0_$?SfJ$1Tf6ha4%R z4RP_lllgp55zhULzyZ7m@8{l5bbtUME}n%>`gY2?AvSBEEMfN(MED)HCK!&roEKPW zP9Hk-CMmNJ!P~|dz~=D|0nQ)4U2vy~_-(ErUOMXM9~yFSLihg2lv}}c!iaV(5w+HCWpOfh(D0`4;4oDy_H1S*yPyh8S2^S+38vN z4s>q4Wj~^yv+uY4(>O;yZ(I6NeH?(SHmYhURAh?4SP(o)?S#ga+r2I7=aa2#uLT-2 zT8a3=4rY9~tHS}pJE9PHQ-x@cqA>ztKS=|wE5|9U&ooN?yTRRTU?0?SjMIocplnEP ze#0g}6%$wtqr{;a%J^#o5=6Q>V5yns(grvKOGp_lEkeS_j$}mEM`eSYM2!omv@fh; z68|Gpl!Fh%1H%7NMgo9bh&@BFV(q2|uGrpU`VrWYvA5s)gC4M;lRqR5HFnljF@QGL zkEH7f6afuvf{k>$?K6FsWd_@0#hV)ato|)gp|Woq6oJ1uX)@82FsMK7H+W6A>l;R| zIxj(*(mi{J=d}dPWw4Mjc+PO%_VGU*o5x0Foj#b% zNT%mJH_wu8uTM{;g8p%iaQ}M1QD1+$cXj;xd?KaY?pkW#_h>`ydz?AZe2v`XvQ{mE zHOSMvVSJV@vG+tDjdu_5XI7YZV7`HsanDg5;@!B=yTlTt=PdralDYPe@VeusrNGKFi z%+H^6Jb-#R3JCA1JTyJPK1@8EKjfW0pCF$4&p@6GK43m9KeRnqz47{jl*SFt(M|}f z8>3@1k!KBa+gP{Kd8hLY_)X-RPCNdB4hKRWo6QA!j)!qcA0%a5$#*d zf-#%HB2d@}CgL^_A$%f;RE#APt_;>!@9v!ybqWv6$1lF^%MV~J!`+8;-h zHN-;Nw&PvG|HVVsZU`so4v9@X4#PP+Jkx-Hqi~bO42KAh-{+b|N%*HT2gKy!1`1`3 zTO8blq+HH)4|t}i6R%CEnotjIMe0rwiO&d+eOWkqwv<3E;fPW@!+ewi6=?_8-C@0P zV(A>YKC?5kLN-G_he0_TWJkM;VPYx_9TVLhIcs|}B##+F8s)(jHiZ3?ybKwY$XYmJ z@QN}~2bC&Z;go&3X@N14MICDgsdBb_p1?ZeQ^XmyJb>IqCVFe0iLgiyFPQ!;Ssg{i zW-qFNe8d@ndythu6c=GF!$CElnOM^ntj_s$c$0rf;HGbXaeiKi!%6_(Ddo9W(Sl0*mMk&fEA2hlRWLfvT;VN^z(OmSADi%ONYUa->hK>9O9Y9_P))T zvLe2Q-7=VoWHUW`7m9fXQ`OWEvb-=o`kFDLhqnvJh)ZmN9`yygAOb-jS6XIgk0mh| z)?9^Y7Z4*2?G<5-vCpRWbyW-d%*I@bw||2@dX{xTwNs85cS)QoZi5}dz30Co&@d** z^KrGrLz+QtaDsFLvM-Z0LVqd#1`T*BuqEq(nnr-NEElm@V3ix>Fg5jJlq~D+A6*)a z@3}Kt`|(8ZfB}9Y=zJ}B><0gW`ml?l*mTgR4Bvj&(+TG~7oa(M3Tgt5JpJV@NDrn5 zH;VVb&)-3+i;0xT=-~5HD%@i9hNcj&({4fl*J1H9dgD~22P4(TUuSx2K1nS=(n6R) zlfl&I0GPs7vc)nU)`|x<$S9CmYag)dc<3F1H9HNV+1Lo__;4L?OgA?eP><0;7hpT1 zfH`1$AK3U#Q8E{VjsQ$|z+XT|f_U|xxk2Hzu(*7xoe#R$`3*}bG4^sTQ_BIt+H3kk zAYZgKKeMMDi6;luQz^)Othd!w#muE0#m<(_21J9{O41^$lnEiIHqMh~!i_2qW%Rh= z^>3?m0On>j3dpMvmD2As+D|arbFSKd&D>w$8B1z}nS1pkx@b#*F-;~X+%3#q=!Hru z?d2!QPKalYM30Nm0Bc3^ee6Gv2p7!;vTBfpH(`f2g;ArM!3YF`TB-dK_#iFkZ+3R& z5SrN*uwT;$Uh#!5(;{9~?s98WKu`V>Wq!cYL;2Z4!v-^4C&V~9xEJMjH;br5vVA-81FrhC1sF*~P&=boXNx!f-$+Lcw%BxC_m>XRvjg#YUAAPJb6il7TH@6&FCnfKV?aTF?y<5RM^2`H&y#L6yHjKdyzS zLOP&(&cQ*RMluOK0Ju;S=;ox+28v>kWYJ|B-iX!bHehL+h={*oMUm>EyvmonDRAj% zcV4gEHg^dF3YHXoJ?11MddiU9NWl9MM9~n+#2qGJs&99-D-JwMLN&z!t^saK>gl~9 zc{W}|(Y&%BnrS55oaH?(KSQkyuV)Bvq!rh#<^*tl_>(Z^buaC!H21Es0D42kIy0k% zEo7Yx4Snoa7-GNr>L5~XmXjkH{$A%S=`>hRh>Oj4jwf&Y*k9 zr)-%S)O#vB+hS=3%MKGQ1bZ_~00Sj$-L5(K(}Vou?SzaL0X+f>?2MfuS->G7J;i6D z(J6JfG%0kiQKJd-z<-}VF4Vp<1`M+&a`3h$df4lC(eaoyow=>qrQxONrSYZJrO9^; z%4qLOp<$|iYG5-2;_y!xXupfFS{=c(=16yObBv;QR>!Ad+khim9QaiEMKPqBl5E13U*~Di0s>a(FsXW8 z&v<4-bu%>TP>v88PG>LNmQ_!z9q6gW>+j$$^*&uQuzX5nX#>jOqDYrJ9)uM`5zes) zf@!FGWB$p931t9^K8H7e-^TgU*o1`d$={SU9<{nBKE20b$2=1SeJ_F$j2cj?3I>#N z&u)y-k26Lezt8*fL;?(uWFZwSVUWz>ssiq%dp@|zfJ)E0&aZpAMRh=q!Otn2h$J#w zW8*B#wWvP<=*_6@G3A;z^)AqGL>wQ#BZpxX76JiAmRxUK=aOh^C>~OKV#8ShDs9u0 z!}dHWvRon&=rpn#u#T$Nxq9_q8gk?BdyQ|yY{X9ao&$xYYOE8mzuWj+y2;z6AFlEf zs^+fgBI}=x7P66*oPDP~d0hN4Yw!3xZMEJsgr{@ePdgWmV^R6h_Uo3)yu8TZq6ECS zysx-5G8=^6FI9dud?^e&FetzU6C=#1=RJI>ILHAKJC2~Sfy}5>kcPGu0)Tq?Y7@F~ zKS70fIjqQRbS*aPQJmJbB~WXgCRj5>>yDP+uJJ7}wf`Wo;#jJkYhbH?RmW-mXsT`E z2Qt4e^-lJ#zcGzo93W;QYW~bb73A?0U3GRauV3*IGulEK85_{`ASk zy^~`zjzAKzL}JF|6#C)vA;(-{{Pn@ui|m8*gY*NhC&e##3;H~*MUw+1!6}dp-W6QD z3^&l4^*h#CnaTt~LRB@m4B!AkHI2)`5Z@mpdV$1Znk>={>7Rx(2frH83@Bzn{7pCu zTaLBkVEi2}<_KgYp)0wX?5 zV$yE^FJDc^u9e8h$!-F~CmY!qlynHNUeN-Dwh3s)Ko|;cN`9FiV@iH&3GbH`YBzYH z0wOhYAquYoeBpRiBmpm9lnoMD-e|viDM12N*i!r|p5lbwfj~zu91;eN?y%#}A1;OM zSq?F92LHDt301;os2q^G?V-HGMNM%8s=q1wR*L(04EjK!%01HeaUkS04@ooycoi$X ze#sbCaP>m`T7C`x;r1Eljp!O-sGE~tzVhp>mZbG4Q62BkaWZu{x2#2mOS54(G)(ay zYwYXR4-q@u+z*-{wYd3d*w7SggT`vABHdN8l~1l zw5%fZ{RNZbGLC3!M3GP-v>ij4k3R+}Gz+|n81cFbNfD19NM`cj46`vplqihCMFty;){uSrK zz)8Mi;#si=K#1mo;b1EL=z_o5(a!R9|s>*I`iz+wJXwPi||EToR z?0GHysc2aM*WJ^n26I-n13?Ls*^>@)WtuM1oPLI^1Q5@LQ-?DF9o+m;!7CHYTC7E% zo*q8fLbiCJidRpLk+s^cnHN|(8n1kvKvOs7Z$dWq?ALa;w3At-89NG>lG)B;GaMBn zVKwHFsYqq3KianzekJ+Hf8BW?iJ42~^&?zf7FI&Cd^-xN+3PxQGa0@}T1}cO8m~~4 zfP1L4hemL>Dn8K!JA6HV88Kjd1@CN9lhpPvPp125j)ghSt%9iYvUDVM>;b8HJ zHJfX4&}R^Ls?pq90j%?sxoIOgqZ*h+Qo|D*{&{j=e8*5Lv=NoLb80SZh|C-wEaxum zaS3Y+_(G~oxZo~aUPu>AtQ$y9P2DBh8IRj|Nol8}@-TJMJ58m9;vqL9lWuz60`zNq zJ28n?Eim{P@2c|;lx4eigVDhfSn|6m2a7R<)R;<$&>*@1BX;9H_O5-3%`16{d}$Qy z1a%-mPcr|6g${{2?93XdwT_@omyWm2JBYqW-Zk`+ceQi1KP$mDP4#);{HEom%|}w` zZGq(q*kZ7xR-qV*$!T&!f7Z)n1E;lNHZ-0MZtsFQ)S&Rfpg2RT=8AD-4C5cCZJOr8nXC+bmWUB6&H+ww)~mW|T5pv!Im#G-Zt~Yflj#{l*|97I=gM zmLZZ)VTf>c5#L~z&PYDg4%OXEpuT6~#|hb>MG31CqT!%tcv}*J2!f39NUobIEqB`( ziey+_JQ^F3CAKa!Qc{=Os5 z+Si?X{@p$xnUp5wY;*4p+j^F^t1TWD8)7>z2yO>snNKCD^LP_xXv{SxveccDaIkV2 zDCHY<^)W<3ftyIyGx^@!E7ZkDd8pNW62r}QA zXoZ{1H6!RfpJDAwJY}{Ok7pH_%UkyeH$;cf9e0>4CcS$jl7GK_*$G z$XpqX5v+IQrHR%eCV~Ghk4-`QfkIU9n|G8w&YMp3 zm(|x_iPb*cIfiaSg=(+5K#3f-X?BdUJHN<@lPRvNxxi{fYJ(7B#Fo^Ts>8yT@zx`gvpYrad)cOM=hD zJsZ1(_yn&9sRyXRiHV)H^m32NUgPUby51SmiFwo;$b23My}tM&G3zGwMdiNxqLS9^ z6?goU!^ov&+9$& zk?vgnoZwvle7pLG4x-lYdOwLdQW@#`x3EzR)8t7q*in>5NG>>#LZt%l6tI+O>suKYx z0|k?fYvklDPYP&#vAfpga%KHQ!mGOU<|`O9FAI^JUTER#R*gB=iJgib|KYnA3k%R@ zv|otI4-pJc^q-(LCv3RN9XYpqs&E`o?htF22;$f_JGqrIp9jKc$t~WKM%p^rY8Ti{TkpL zjdyh9vUJ6C@mj3Zk+aTZ`;&=y;^-*AGEcOm6c8!T+(D(l!Fvo`G8-X}y*t8~xpvod z*V=}(3Rb^00M2`^;ZTH7?x9Ry0ERsVE68=`@tE^$L|RF%36~RaWlOu(M>$3}58e;> z@A3{P4$AUDaK2O01=%wl<2gd0Qk|Ot2QrZA-uNDJp~m@0N23XBK}XvVcy^1JNV-Rs zKB8I0(a|j`VkcV4uj+%Q_X#kUHLnOqFM)ANT~t}*mQ}C|xUhW&pw?}$i3OXASW-)Z ze?~Rkqnq{7`a-abpnhWD?5tyme-g5@Gb!5J;9=uMs}_i_nLs1>Cp?_v{9C}pw;YO{ zE#J6w;eh!Y1-UaG_=v1kSyC(^`-1h)Z7m-g1L=-p23Vk(g-t!?^Iat9eJi3sy&wRVEb9m3r?o7H_zzBC7;me@44>S>NS zXXrH=Z^;`c!hi+(E-(vUxM>L8^NhLt0J`T#JSg^+@3qa&>}rbeQ*?#nOZhOsWCi&U(*}AQiNg}-2GG_=wj5%z-x6ix~JQLB3868kM(Q+ZzZ%&VX z#T#TqTpdfs{XCnEP`8wA%P(@V?&RBC^}s^RuR57Ud#PLW@?5?BS;VE&-me=Y{#YOI zeqhpsh&LFVPy`OWffJ)okA^;uEjdH@iEAS^qAzE9COg0`Y1%~L12=q`r^IZJw~K3w z=SwrA%3~_*uo#waAeb$6Ve`;9`16!LO+KAG7@M)G}BJ%)WOzZ!KW(q#65HmZ9BIZWX&+!&T59?^y0y+Mvj=?sN~VF^l=lbb9Zo<0o6Cd zK&+O%)3626rP_T7w*-lOD7Q8f3iEO^l(;oksOb6GM9Cg<_po-;M(}JJc@GiRRw7uR z8lRB$vD=7fPIcK_5fTT%qTrucCs@zUpNKA@Eg;>Eax2u^Y_ANH>f8ioX)f^P#_gIE zbEpJ?UO2l8jENLtOt4A7)>zXXzSA zk{*|_BcZ3iKh6^@gSuXZ(KK8?A%7~dXB%HwhZlH!M6O4eYH5+EiQBhA^G8#0e*9jS z&vlr5H$b=FId_QWckeIrg`%56IM zfdjPOxY;aDQI>i$Mf^aJ7B)*tJLVRWb|6}Ywe9@?YUs!%Y0 z!n4kgX8IQXpS}ZciH~aMI^{kNB zs!D0*R)I@`25hG;YlWM=Q)_tyqHz}zL)9f^pzeK|u@3pR*}9JFlAWge5;6JQLYqvf zmPpCT?T_SF#z6^6N$Fq=5>!!EyqR<$PM$PDs~C!E1z-w67OJ%SL(w5zq<{Gl?klh{ zXPQ;}iW9L+0wsh)UnOU(!cRqFn!sv7I-;Q2U{4^ZL-6Pj|~|G4=YZT<4Pjrk}PC~ zISD%JvtmP4aVpQ4yveqsy`_x0m0u=8PUTy=a7i%VwXF<$L;nIEEv9%lgP8$M1{R3Q zrwcCxag)lQ?TS+!J!LfwF$HBT=5;sWk z`#?eL>OjRJ+AxxD)5vZe11uQd%3~V%$p1jZ5`{H4-!tH#KOxb{o$-N!asZ^ZBgRXN zm_F&^385hQ-0drTPt!(W*Y2x&A(0vnQ8tw8O|Dy!e}HFGjQ=tM83$lKM@Wj*L+xYa ziyORax7%qtZ3-qQ>&5D66gLr!LjiJVd_;4xhRY$X2X-WojT_6vPVvSIw2=lHF$Vc9 zQ9AXcJ0Cc1j7mwl;s7OkkZ2Y%4Cl3Ao$@N8shOlQZY4Rk0qs>FZQ{Rd;xRn+%PL5N zm9JEdJBW3a=@v&1T+me9afn#dJW-5VTuzc*!r~4h7Gh5%ajcZHnEikq)G{TLo-T=9 z@S#bu(YiV(}Mexqrf!^jlv<}i0i$C~9AlqNDHReQ6xv+bhb zLqhwW#ApWL$4ZUva*HNQo= zqDn%9uRK9}Tp5p}2zTlr@{jsxOF@DCb|L#%nTM{(Qtv+5o6f}XpBbqYfPj6df#HDC zHx?~fym*Xm$#w;6+2Yq5+EZ@+8S#!Nb?A7=zfowaPEnqPgV;xRDgzdMh)vlcR<$X3 zM2rHD3u`ax2TXg8dtmjo`AvZhP#(R-*!^gJQ%H$Za)Sy<_WV}hn@e)9Meq4NSKIy~ zPh5@mMmkMf&2AeJ8o1v{oLOVP2;1y$&fq;PkjAeD<}7Sl6`lOx=1HX^JqN0SD%(=B zz=N(vUbJB}4ZQ4|Mp+>W5rCO}f%l>{(GYz2M{`7(9K$be9|&9cJS&Z*xCk7UPWd!6 zW@a@r)Q?U1(~WCOy4Ha$qid^ci)+)|qud+Zv)a}CLrhN||Cn6z<(X83r5B`|WrnUc zDMfk4IjaJTD$;-jLUiHIyu~M!0U;))Npbt%?SlTjvl147QKDqw&W4fRx2%RlaJV{V zm3WF)@qn!<{wvXxXE9RKGu1pfVOgs5$(v$Ce?G+$H#f$xOky1?C-iV4daFWSwMuWL zwQB>FeF%}NTO)_%@X}(8hvGAI4EV6%9tLwaEMbajHA>7dfeNX+-U?tH}~nCQiJylDy(uahULEMfTcRHKyMA3?FY7XS}qLXN4)b zT!R`2YKmF+Y}*5aaZp44200q`Ys7{3H@C-V3e8(_h)posA*Q5yFPD&B7<>^C2XPnI z5+i<8Mm4!5($z~BNrA+#Zb*>7=UbgP4)ee*O@b%W#&sl50yJtnP`ZZSL#L1o&uEzynE`*SqMT)En?bSaNg25*oS ztU{@SyCi7X5m?G#mrINxaZlQ^{5WLwyvaiCC&?O0qcyOjq|!ODa^hWE$`>~Jd#}`Y zzIq;Glf+l-YZS4Ce!H<8*bQifsSKMc4$3!&Xqk4MDU0JzNfhW0510an)`E%Ws1Y7n zuuwHCKN7;xws~11zIP(~hYbP$64u1C6HP`Kmp`9R(Bm04HVaZ4uMdhg13E$%-@xH5 zo_Wyqxsn$w_2+8;;DTEDgvL|cU_>=-_mFz;y!Mc|Pei~z{Zk?f*Os|wxaV&C zec~p#KAzik&GbxsaU3So0>8FRKHj~azS1APoBYKSRsA95f@v>~Nmlc|my(3mZ}yH{ zX}W^^qWsdeS*4#ogTjwv7;nqE@utfosAgjN8`NE*D$EL8NV1`{8YrBJXW3WB9PSsuW&ugnd& z9dGO=M5^DR)GUgXj52h-%@-6=`D>MFEvA)K7bVG$H6S-rtJHx5%&t39YAAt$);7|k#^IXPjfDu1pcg-kQOB)$<-SfQBKCkHI-`^9oduSW)6Xq>W!z()leDA%s9!X z|GFAi=}ap?$x$uq)i~Wn<+a~vN%%UTQau2~mVDv#!>KGC3VT3U}wytlaNM)uVvu2t4y$KER_qh0L<-oGZ` zglRILh*ZKp_n;8dPyRj@Kb+eAXx%g;+QXyyJfsdAFCOo08#hU+H1vzD*GYAI6RMZQ ziQ1M+qILRq-lp+ZA-l^D;b|0~yF5CBImFYC2cb78-{j9+{=ZPDa5#TqY?!kKAXXW1 zjcnP&zw^LXlv@#X`qdi;SClS1o=l!lpH!ZKg-k7k`ulxZo!bw)zQyY-$-psP=5X#3`!aLh+B1VM z61BFyperlp;2I%RqSvv5FZ%9gQ9-6~KB$?8ddkVZJ(iYd%qciLSlo*;{L^s~Vqk(m zpGLZO7})J5hkEhJ1t%Z%BFgqZgS?tO>hG?>#TIn~=+2VmIkMPgcIvZbF`US-VN^x0|t> zj4#SvNZm_Y#NS{y8Gn9by9v2-!frxWPS{Oy$^J7=HnaciX0vDNPP2pKKdt|=9{$Vk zNXx&ecfc+C+ucsbe)z_2&YNWRAa8yiJz*m8ZIUuE`0@G}{O!q(WLL5`*`KWZE6l9_ zb-SS7(5b!j&9tSOlQ(j*k3ab)-k{wE-T44-@EiK?LoZm9twC$5HN$FK%dCB^w^|2V zM}Zdo2eZrOef``LS6UypuC+d6ebxG!_0QH_#!7X+^>bpGRh{hVYmgS1OSUEpVO1|B zdyu!9$nPV`F~(Y?j4wa#PVDHz_bVB`8jB_@ToMZO+ZtPglDI;e_!?YP!Ugm0tWopE zA+ru(<>3pOJH|*piW^Vb_@*$px-pF)HAgFl!k2nAjbXWtNhgL-8kjs2Mv4@0Z;r`C zoWx(@JC35nD1(KYS9J}D5Z~z=Vjd@`slc~~H<~8ng|QGIEk{4H3F2xuhMKRC61a=z zFYJIq3yssTs&Tbr^N~zCNWe zUKwGBn20*48jE>qH^sR+&$V+b&wGzJ&f9FpmED`mZsLvcwMY539l6}QF&AVqW&RVJ z0V7k$G@?AWS-@;JTCIRl@JL8?t;?@vu9K1Mwp7+*_QyG6r)G0JdwDKL#%-G)k>{>T zaeA^+4W%+3caKx5_iTzU##(&BVL96+WPAGl=kF(nVqFwxHo4x|Uk|lyKY}}q{WZ*w zbI%P@z3)V>sRqwSh=-M(6U<)B0YWRZzryo8CNqx9>decgFqI4^H}>tX*YjL9vqO0X;*TuUZHF!mg4Vm?SSV! z+pa0TMGD5jwO6Ei&nlLxa-{|en7*mXe)9-9ecAT5eT>c3-u3`z`BRja;90FV0;e1q(chT8a6Otq=>o=IO` zW=EUK?5HoZUzFOtGtF$JiQtMvE_c=o=1t}D##)fHhXzz%7j966T%jMeyQw0SiGpdz zLocrpRkV>tY@#M5|wB)B9Gc*$+swoJF4$^?V|g@I3oaBVvJm(EoC&JE?=T8 zbzit&!t+MD`x9dQ{_(ZEaT7bOFV=75AcQ*o#*mI={PhFH9u;8NYs{ck(WbeF$a!f+3LgZ{0}73+6@4PQ4Xnyz*AN zaA%|BvYkQ3&+z!Jj8-Z<#jdvD*(l9NQJAMXMws`;Q_SeI%Cg?OANdV4TCK2GqSa2w zGd^IiM4k2)&}oe@jq1fs?c~}VhKg^b+m1!uR`s@nyHi_ox4h*rD7QVh{|-Bq2L+R| zuc}X`e63P;8}!S5P)-%vejU`qMx7TaKJ4~Y9_p9*CP&2cCjN9n9!#-5W_{NB0%((D zHwI>?dJbP!MaIZ%v)&g2Q%u(TQRFzXhP;EEPToh(BOf3al1s>k$<^d~ zaud0ke1qIUzDGkknNFb%I*X3c*>oO#3%65QnZw;LwkN==LKbVpM#su!D%uEL{^W`wFoYYJFmfendtRo&hT!w@gg9B279s zLsyO85Clj#QFhdqO>q)Pi|)^6;tNe8btjypLs-Iu{}fL_bGu1EirL#>9Ir#BukmaW zhl_f64CONE=av{UnI?u3=WSSsK;EKr&BT_-uJNEk>k_Xj`%7Df&faVuiv6@WQ+reN zFJF?kf)V=KHWPZjTVr&yIW&5YO{Ao_FqEq?O~tmcCl;cvUJ(pqE{js_?w97dSlLg3 zQNw%~W4^dr2V!;KL3NlmE)=bop*-F@5D)2v=1AbmbMy-1`a0LR!5%GL*!PSDA8u!CPFB?i4v>*t?gfllwWX&#N>>Ef&08aM}fbOxcvy)==>N4Dyx z!B7T5VRDSYBvXdK*9g{3CXHe3l{c4a!!ubpKAoiGI4}_2a!lQEUE(ak*6(ioDdu$t zq6P4)RD$Xb6;~jzK-)p20b2d^T`xP{a3B1PIpx<1E1KhS2fY^}}U3-*tPZ zd!jcj$;WXe=H|GEhiHcQIhiSi^n5BM{T;e*<|OW%@q^#s++GEX^bU|ui_5K)}#@NA7ve9od}2#^OL{Nx)2!&$zd)-paE_3D)PEwAQ`*3zYQT4hD(4r zY8ePMYU0*WNH&vA0U&~c*m(8FnspRND7KTmS6w3rR3hJ+{g}5zW*Ku@6NOi|U|zqB zrx6@>u{a}4O!QfQ-vI$7(M3@h2TUeGoD=U?77GK5xK6#{^8w)W=cTst#W z!3e2LP77CQG{Nx!_*Gpu!_}uV8N?T%t9WKWySWySNe(J~D{mY4drFSYRa3PMJkqOh zceP?wk7>X*xt8aW8|FE^pLajE;{gBQa7L++ySZE{H?!cf>2NOtGz4(SW`Lxsn!5!a zdVp|{LN8-V3C)is4%z*2_^*<8sK}m@;(D<6Z!l{CvH_5qGC9(&EmfhcBL;04C}&(gz+Hfq>6Bu*0-#Qp znMQBrDS%giP#GHnn95R6;|$kK>FI!c3YkL2Q!UO~@I|$NoqH8;8@PIn&6qtt_s3u3 zk9=raZ_)=NrI+&l4>pzYnTkOhdF4RGxV;VAL1}1f`FFNkWt_}ecU0-9kNlMEde5!B z$9{a%ExkK?Cw}?+JAe5pa?2A>klP;bjrBg?d*b@l^DGk(3`_WO!;V&2$6If=)|xyw z=U5lOe8=e3PXc1XjGo`N9yU>{mO}<;Jdkg}qA1 z+XgNnS5o~2V9vv$XyNKGLBuL~Z@gJO#s&?{B3W6{#7c`M)}FZ*V~<{LsjB{R#;_w6 zkmq~n@0seIxb(?YBjP)AL55T@^3X3Wta(N)8)v9*jHW0Xy(;M9sz3=^4SalmET}IG z74hU{D?|UVQWXSb5H18AF1&@Al##P~by-|0q+An@NRVKIp4=a#+9HtIATR@b3Bdih zOL?_KfAXNzK`En*_QIDG>18F~4OWNZ^5<5OEr|pA?|bvc_rGh3_Ku!-tt(a*V;79Q zclb=)awZuvgp*1l`c0*6BAYbb3faZa#;i45Fy~E*P5lVb$>wJt6)wok* z5xyrF+G;j0h&V~e6lzy4!8$>G1cqnivSvF9i0P>{&vPAJ8^m~1sPiCb)=^MHQV+r+ zfoZrB_fqo@1782S^-Ysi=?8$$AGRK`er5gEdKOSR=2Xg&BAHC;fYY}yJHoai3jn1f zD?fl7PL3w4$w`3HPbI%3kCESzr^vIEP)=O*#Xx`8>Lq?n?Kf2bp&Ytfp(| zTBcyhW`THB`|*jRY&M(6-omzLJF`953ikilyV#lRJoW+hA$A4(1p5@bg?){Elik7Y zVfV5hnRhq-l0C+L$DU@;4)W$m8De%?8N0)#9OM5oiM+~qMuG9_e^c2+{x4nOUp-wR zIsLDh!v*)U>7Kh}V;;Ere?wB2-gz~xAN$$rkWQncv_t39g>(mlR`;g|)5Ga8^mxFlXVA0g zx%5NyGI}MwnqE&oKk>$KK%ORG2SWxu(kuXvF}oko$pmUV3DF0|SupPeZjT}qHCjJ3 z8XmN=G=Tt^2w*;G8f<|$w$+b63Sv-(K>`f`4S1+^n;kUqBFqf{G@0FnafspjW9YIn zyFnGkCp7^?nw|6*;~0e)=+quX64r!67^H+yE1`pp7Vge6$`+F6-eF%#Q2qLM*43voLfC3OvLt{;-SELMt zYnfmyliMH;8~D2JK9fZUVzZ^7$MJ1kFdSxQB{tDSUv!bWHcf{a!Wx@Mu2v&%D}xx# z7L3TG?`cB~;voaUTloGvXjmPAw?Xgd5{!i*%E=jgK_P-I3{}A+%4{ORnj)Z!fdd%K zY2L$)Oag&o*SHCxoL2JIJu=Zu7Z|kDsd_y!Q;Kq_TTG?X0_{zy$kwF{t2M z{@&@`3xyw@c|SDKd#krXc$K_p3fHp8(l>o?5R_Xfxs=uo1 zukNnysjBX-o^*GnyEC1EWRgrzPe($C1T;ay5sn0x$RQBXhyoH1P z9O}w~uJ?VQh_{O?sDQ5Py{JesoqgY{o*^fP3+t5-CNtC3)qnlRd+&S4_a^u7<)zFI zv<6CPvZdYZ7XuxdWL6xAxzUq&j~mBx?o!%S)^kYVyiY0m!MEJrh4k9pB@NmkW=+$$U=z`3;$6p0Ydk>5Se+FJnPclcDFY}gSZaCRZ%}Lf@(~P;6 z!{Jy?953O2GHL=4VOY%pnqpc#nxDD~V%H6V!B>*vT2SfC2Y;d=CiC+ z8K14PfnU2^{As>Y#~x94(*L91cj1~WX`hntNPQiV^)jEOfw&f__hYpiXxE+3DqbtT zT^89nN-fCdQ#ynPk;elcj7v{#(Q`R@vW-Z7(61NKQ~Fk2`7K_XY=F&C(mc_X5abUk zm>-AA^0|81r=48U`E)XQ?(Sqpxis$qTS8R}_qVe6WeHOphovmPNN<8>O==A=$9R=K zCZH2#`2np?NppQKO;<9pbX(k5`z;qd@N^ko^{s4)Z6>y{Y3A^3zT2XIb`S8rAjStO z&N&}7jLn;^qt)jP(|E42!FaoIy>W|iJM+ta)wt7m!1$%{pz#p1cc(;N)WmEtSG1Y4 z8#%)(#cI;x$1|&J;$uQ({+q;=%;x=X;@`z5#pg-?wjHDmu{3LQS$)2d`RU)Tr zj4cs)c!NmQ_3<@?=>&T(NucMEqu1ff;abfDKj+z-%HVs}<8P7bY~3O?(JSnPc%)fs z)Gx577Zm@`ZXGCXg(j-Zed9DpnR8+atMPijx2ob|z@)J%dujlw#n#PM>svQlHH)0m z-0pyEt_6jMD!<|c={~xlh#qkYajdw};cO{*nF>jQB>SYMYd@3HPzNk_%mv8BqHX56 zV?S=Y3#S0A2mt+l$6fFf0>RT=3qbs>1_llw4@EdZpC(t8o0Fd)oO=%KGf(?ZwBTH$ z5WgnQ|DhOq)mB|(uX-tt#%IeUYp<$bUL7Ypo$fTMdtV~sa&%NR%}*!Q8=Lk+nU>d9 zp7^d-z2~8DowK#h*Z2WtF5yVE9D7Y2$vd#wCl5uVSoyG4n?CB7n_u&_d;=&m>=AB4 zn>xNWs>ojVYZsvsUaZuS*E`~odU&ydKvmQ0efFuTi&vj7+qncgm(}E)n*eR z%aE@om_e7WwBuTh^pn5icDv%|2}uLJ9;#UUavQFO$%m&q@rs{3)w~TP+vtxqhww+q z_%7G+=S4x3*=LUWhdtR}eh6o^z+?Vml4dXG{=9DzSBq=KyTpz19C^Ncz3H2gSvF^y z!{!3BYc4XEnJdgg%+=-^^91wx=1Jx&%rnhTu?PH{=J(A9%wL$lHXk(qYzZr6Wvv0L zY*nq@ta;X6)^clwb%^yX>wDJS*1gsP)-SAIS--dbXiX|prBsm+_CmFnTCP^A)#@0v zR;^Q~s#mIW6?#H5Jy%pGwc^ILHg&Ac0-VzFLlCkvZPLok@~2c9>w?(y!3!CgiH{;)f`(245Kn zPsp%`@0g`ZH@Opr(Pd{P1U$;dK@0N4GD~4AS783%siYO35KnxI1HpV3-g(yjYd!Huybkk~*&hbROS1AQ1!7OLEnoq%WyFa_O?_6R{y_`o?Z!k9PTr^Rje z7od^s0}k3uK&2HqVgRzaF?MM~J-2yDxwK&VZ0D3F?NBYwMUkK)n=D3@j zzIK1(B?Va>76P;hhZAtmzeSA`lRa>tqchB_gexEoXuG4CGtR*Hbi4#cX4! zG+iEgs%hJg6GO@KN%@CcvFGXV$tKV99)9ff_VwtNy<}RI-Ty`JB`g8 zJ(|wkyLIM!?Ag9|(W3T{nRrE9A-^dhO&Y#o=wFeEE0 zVmy@d7UpJqA-g%tV7_CEQ|Tt@(pt^6n>uVZ;d#}JkER(0zXa$PHkaws|G&z~dRMR^ zB}GzJ*84V3b=!DPHIHo=OY&p`5Uo0 zc)wrv;?u*NO?K`*d?)|>8X`IG4b`zs5s@31Plh{Cs_sq3>aOz0b=64ErB4iR^25BP zW(W4FsI3(l*nAY|Y3`t*_$$k~xgO#NdYSLXwJJgzc|xk%EJUFq zl|$r~FpiDK$a$fk%IjJ`?xtpBnwUo&+P+VBv$17D4s12cRl+v9?0X)vSyK*nFAbqO z3g>2js9;2a6!mhv8)BN0vY8(7?3iXEM@yJ%gzQFY*8H}gq-*&k@Y1C+^Hb0=Xlz4O z9tGj5YQ~|5W#ZNLNqR(OH6`A#L-PS`I|Q_9Nj6o339&<3-Bole5@fWZwo8*=z1{gJX-{vxD9p?j`Ha(DN(1G#85yIkaKTN1M z`l61(pehq8C&1_>WEIR26VpI6_Gb+QuL(tl)~z&+j7dZgMW;7n`^4oaN2dyn&H0(V z(uxvfCN^%e0m7vJRGGvW{%_;AG2!7T%!O0C#5jm?XXS4YcdoM5SjSi|uwHDv)H-7q zqTGcjcOlAMi1JBAl-y>sA1Ez$ooUQf+!9vp!cn_$)Gi$LxNy`jv_D(3WjB`*%BnsT z>HTyU`q+g&cA<~QKp)8~I@ytn`$l~{ZMrW^40ignKj*3)f?PFYlQ>EoN0#|X;uP^x zak@B5+$#QEd`;XXzAOGi+$Vl6ek1;;-<1wMR9kXB=cheWK1&`b510QUkCw;D6XlD! zAKkg~HS!|)W_gu-yL`8Nzx<%QRenT%QGQk4DSsgUQ~pH$O#VtfC^wm=nKA=&wmE7p zH1{#jH!n0_Z@$rdi}^P5o&UtyYyvH0xL%>lB)v{M{7duOP!lqdn4=xG923R8^nA+-16PFsG+;kLPq{(gxv|=+(5-?a zUSU~VB4I3&-Sygd{s!hArg)PmU0@GR_2tDphx%7Dll!*Ix2I@x6MCE zM}{i!@mHzRyEt9X^?fTux?Vg-=>zwula|^Y*+xiFDrwFXGt+^^>22D#9qn%Vab#L= zLyBIo&PR$~c8yQQ>kLlOYpEnfkKUk47Sa~+VN)r3xY@ll#16BWX2hmUpeJa|dzbWD zJ}CDxVeV1G7mgpShpPx|{yf4VAT3LSNRTHz0jcZTy~^ zO6|+ORxR+AW!|AJx1ZYQx>KoruFifbbOYS*04$d~`9>^IsWj&7;sh6Rft%%QMSGz7!`%1J1`?{`@rtYWq(MsKdj4*W; zte4AaeD=jE%c*@dHRAg_$c(%t$%*V0`-bm6s2DFp?cec;xm_c3JGZU5z1NhvEuPEz zo}MS?-Ja91cfIKEIFE3$uJM_PUoiWbdmm>~AuUo#>k9qS1+ba0eDOfmBLw$ zrBhk#$Wn__3N5~j#vfNPcSy_2`iWJ$WuhTIu(EZsp$^>S(f`hJ4$UKWlCjzQ4X11N zKAM=J%RSpV*m<1B?saqys)z-!bnof6CRb|6~4%yLM!( zz`EAD-g=+)uhwnW$F0v;U$nkz-DQ2p`hoQ$>ptt3)*n=!%-D*WMJIMtO{l%pKI&k# zny~57gkfHwPFAOrP2rNgal%bbgUi)GG#d+zJykNBq7D{e>G_e3AFL(g-lSNt71nO`xO zMzxX36f8m#v@}*G6D_a9ba`LOimbXy)o8$Z?PbXLNyn~Yu9&Kus=TMq1iJQw0~dp?9Q^B621B1jYRs%cU24e`LG0~y)`nOZseU?6~>@UfwkJ4zbKxy|?{nGAdZ(rJd`IBDS{kQ9G zuOi2@ctq$cpuqO!Tat{Rl&Pqw37ZU>T2U+<5J^tVdNxQ)@I)uh-?mG?-2V!q|>407hVL7h9V5)UEA390M zW1^c+B2#qA#=C8fIB^%zA~TJ5x~MvBw8lYQ-r%O>4Fn8}1sp*%q~_WWXClGA1b4?A z`i%lsbI{{l^n+#`73qN8y^Au9iLRZ*bntQ`gioeD(G5`Q${cRpnvEAdxGz|D{7gC_ z+>vRf!8zPy2eWUR2Z>mDfMkl`h^mEj(PwJ+bF?OxJ;OB8*&!X8j!PukiSXdw>O%IeS| z)~QUim<|&5YK*;BjdGj5*Si4(T0*YK^trR{nBucCC+IQk*`8g@f((jwJP9Uc$2eGa z=p8`kvP{OKif0UjO|^_|B4vLaz!*m>hM`+?{;&sc*o>=c|-3NJrm50 zYJ-|QebXP6JX9P{>UAO4t9R7fo+7AzRKuXTuy*lSG&JrwchNSmSED|(J-PT06n7B0I#pJMlLM#XlL%19jRz-1OxrL6&-3}T~ zbh_yKg}jUjtYT*fj$|~O;3=S+wiJA)?9bzRv_`)puY+3sF1rZ%Yq2}tULv^daHnYV zb569`tJ>aWg7i%g*<<1Xf&5aCe)A=FGBvb|O%#gAUGej`1{FRz5|{wf&| z%;Ht^mMT3Kt+Im=W#&WwCg8789o9YssC=^0gxY`k<*2|bVOsVSK znl#vCOh-~!d_HREoE?!N3cL zH9Kt__IZQ}=Nm^DYq%5RON^HrXBg)g zuO&d`)~yd{6wh_?=uJC*(eIIrLSb*Z`+)f&U_eM$*q|B@w`O$o$iFlJA^w zRc{R=g$Bg0iEJFFmm5Jl&t1mxwXe63rqha$LnP3pwH?$+n3Ib0Nz^t3XxT|aMrh=U zPBn;_kuKo0pAPftlI7}%$gT()L8qUx)oBcO5=!5GpL7y<^F*QOj3F)wTX3S&E>y_) zBeT}&QwO&=-bf~F3xOLkY?4_F`d%a&6_cku_dT`njZ&pALe!k{AQ$1Isw!me+JXulj%zzUIYnRLWocHIjtp42I6WF zLbt>7L^laJ(YR?k=r0-hjfw7%O-LYQmFK_$=oZ=fK(sh&+l~Z%4h;O^2J*(b6GeJ( zXCA`8XfXsm*aA7Y5(`!=_r`XECrvMGRu_+G-=m{YB?&$l#D3%#CazMbnW}L(;S!Qi zS9(!YE_?53g3shb`r)s6)^Bs_;iv1HbZzcJZIh)vOtN!fndI4fNXmFC^~TT8`^?M9 z5+_l%X;oAU%etzfg`?IDB*ZpeLkDy-O1k`&MM)=&(|pT*b)jAulc;KPm_Vy$1BX|B zV)Yl!a7o-ZX4A1PSLy0eUo|rlI_@HQg+_&DoFb$v=!+dbSz(86KEbjd5H=~LS2=!d^LG2 z3!I0P-gKJMaCK^t@+QBpRYUp1aO+11{G<;BaY@zh1~V2$s;bLjZ6FH3s`-wEn#8Hz zZOmJ~LM-sFnkdj*$H8E%Nngx1mk@Mu&-lXXi+rwZeH!VyZ<)RmmKIk{yILj#;q-va z?+q_}{rrP;4xQ4$#)A+832>yvfS^ZL*FE^~rRu^jR>^E1)&3<{Ht(TvW;bo1*LzoJ z-Qj=!m0i9HE8XQQVFC?RGWGd+_)xf0(dB@S_f&BFx&WkYEaY8Nta3UaNq0@)>9nY zcB(J{1yqz}(h^m&Sx8%&7#Fgaz~Vkf&+<49Bc4W9!KnoE4KhE(JR07{ACj?<(PzMy z`Y*OkY8BpBX5l6M{7C{pn0ZnlH6^4z+Qx(4X5slVv?UIj|N0k>Jh-mPWImel;PPg7d#z(}o44qjd z($qHkqo3W;NfIhS*^Wp$7ueC83JDc>SM5N5Ol1-Lh5AE1q9+8hA{xVDhx%lQxz)J~ z;ubo@d1{r&(4#03q*EwXA`#fxX$l^XxHi|2GzgpT@yg{W@~-Sl?Gat0-TOto>1Izp zta6)XJ|eEI7K!V%WfB~3@Ca@kqbIMUH;DH~9JTH3{fM}hA0cr)dHxd-*J9I@Y!<&i zp{B1a^**wl^cF`ey^3yp?6lCPkNx#iCAG~S-Thz^gfFmj-__;vY$$&%U>L;(w zGLJS-FxQ!|>)mYrtN9W0Q|6b_c z;A1A+5mgH$r9oN)S&tT1&EY7_c(ASlJ)R5>o`CS8`a zFsVbb|0TsC3cjL7ua@p~u?vGxQvH7299@gU#)IDNjVZ@T_* z6^mFWsw@q_(&5I@U3DXmRyXo@T*}ce6gV_nDbWo|^jV=Q1v=ZOa8dYVJ?PM=G7kN~ zgQm61PLyCU(fne*T@_ct@JT2LiTNJ%Ij(ZUOd4-P?Tua%s_EK>%Xh*-?P3oz6%D6k zxrvvw;wCjCkQ4NAkGH5KfDf94kssH0m6!A>tw$LX|0D5PSHz?6SuYlUEk5g^N9D72 zrueLfU?r$+_^j0yeAa3gpY<+2>z(sihdZLPEWIMHvwcAxL zB-dy9opt_0+$(-2eo2`7K`CWg=43>8yDoQ=3(%ikK4Y4@;8=Nre35*Ke3^Wue3iUd zUP=i37DnG+mUqhU5ca-D-YhOhJ9p&Yi%f-!2i( z5`n5hyYbieW_17my*Piji26nU7mfm#(Ir{BZ`%e#&fgwAKC~@n6rNw{BgAX_uu#64 zamuErKL#*tZH)*QJOTyx+c5}?`Up^-mvd6R1uDCi-u{a0XBn05p|bNCw$=&6miidC zPD2nv`EOGGGXOk-K73wO((l^>VBbB3z4x02@F$b%PN4o5U7dEwaNkW}7JJ8$T@Mr{ zp2hI~_3nJz@f~xJ5QcO71IKUpz*FdkaG!L)$=@-Ue&|VJGx$rJA_dAF?xV)~G+2BY zgT=!i9W2(j1&Z?@L5P)|!Nd7|WcY0-bsOHe#L6z9JG>8I6}vjdHw(1hH$l8DnvFR$ zURo=>ueUzI&tijeTU+4kMUO!5K7?=h{=YKV7wBWY@kmEF*1ckYZhC3UeF1GDIo=2O z2hu;2?{!_<+;^rmcKid!9rF}ABJ@+?J9%4@hkK{>Rdt;)*w1Ib(zw=mxA8vC!TqxF zE#p6odyStN|84vaTdGpHA|nc7Pz-UG@=-A+7K**ZzJ$3C6G!w}w$Q2kW#W~Dxi28p zeHo$dYs5P_+vz6pK|jrZO zjDZmVS-Gg&E+TY1#_$)GC>aJQ*yl#pr0&r&oB?~QTQ^CcLYbo=9qJa@@qn-GnGCyI zum#uwji@eZOAa1PB&Jj&iOXUHb!J+C$;bW1>qr{~Fh*1XY8Qs5a*_mEwsKU+V7NU6 zfyqRGU%$of?jbe`*$m}+a^PW@JJSiIoK*^b2Trc-vTL7x0(OJV2bC1F!|Gx0JVE7F z!)B8eEy-Klqa2^@aA29f48imp=jekf)CA*wB*Nke!bX2ulL!hIqJv_A4ZT*BwD)c& zK%dL%5t?rqo7KX8xt=D>b)7y$>)&1|0x=d}aknh;fvW!SC1nh~>v!$`{Yny_XOWQ+`eCt=l^K2H2x}XA*>7 z8NH!4cdoaWuIk%esBsZ$7Ej>eN+I`Z;XLXX93 zN!Lt%x;7#&=1g3#2`cK~IBy?YYySj-%L~H~X>aoIoHD(J*WC06!uKZ*rA8Z(?SE10 zO`dPQ8obzNhnq&5p}d8@-}G?gU8ekx!SUSIzI>M|YY~u$h&^?k(vzPe)8oCintU_E zZ>?UdbIYE0=lyH&`qjvCJXyuu68IWA+{*xD+u;amLzRzO_HsU3Q}OA($Uc2ILItAj z9fNT0+4@5xm$^be-20Y3Uz2|Ft0T;N9VR7^G^L=|uX+_PDu)p4BO@phW#GGv=0Ehx zEUW_uDW;73xxO>je4CLK{s=ntD!nl0t8fI1;pNbJ*RSRLCigC`Mp5Kx+CovXa#$o( z;d|Wt*l*OdO`x10JrbX*Du?F2DTdX^fNmn|lry5?B4}$A>auF#ns`S1G+(($g`UbC zz$JdhYW6R_j_~*AjPDyiH109(Gk$LTo|ys#^Lqn}&zP2S2_}bRJC*qZ;ZJ<6xP)Ze z263&pUfkaAY+IKja#TJ|E|&YqWpaOckUT=Jk;f4JexW>Bt|$C`wmeV1QC=?JD*r5d zrfqtrZw6+mAMYOHX!mmSK=Tmu2=gd&t+~!T&3w6ehIx+p8uN9G%|mAbSd2tv(WXNi z0=aeRKoj^TlRlwSA#0w%L4ny&fTjtI6cXqWIUzt367ZSzgGE$7l@M@^p+5c3=`;>N z&NxUMS_y+li*xWHEJ(7p#+fB%qEnn;7bKG0i{nXdOPzmqhC!1uOt==H3Oq8+d?z;x z*oMn1Iu6O^#1jf3h$tlES4b-)VPH90sIiLRp^m}j zT1*O5P){=4V0Qye6jxp}kR?j!6C^xIo)+nm0$Z0~G9WKRS$qjlF&OQYi=47Kb zsM1Na4^4%Ffg%?Pb{6og4RIJasRSvq6NDEdNy;itQJqI!0<)-RsYkQ$QXAT6)>sj3 zcj$u)j6&(HHoP0W`?UYht2F$tuR(7kzAc4@DUCajFV1fW92tI@@fQJxRRaGj4TN@@JSSw0} zB{GzK0Mk0b7hTR|{r$2*-5V&iDui)n)WhCB;=^ye>-q!ZS=YZdSTOrV^f|BaR|jg6 zG^2i(w#=oKQb}js$uxl!c}{SxuQz>ZkD=v0sYC+yYC&%yiS&-%-71}?LP6&GWKV1P z8^Z5C+2|#|&bYgjC3J830AJeb?XN!VW`EiW!XRsj53B4E77es_smhAEmEJg^%96O8 zAUxsUd3Ary?!p7IS|6)9`v!h-@0cuMcY&IN=u_7Z8-R)S5ZEQi1b;-RPJA z0zmajb~ttksfNd{N#)A}!AZNh=(o#Wgi2*!CDW@9pqrV;D|Zi_-S`mAQ>tj;5wKrU zFHQcIP`-GZL)f`@CV=8=5s?)85@4TvC%g)+ce(eJXkY${a2-lQHmF~D?tnvEt~6dN zRgT*Y@Oxs9{VX@E5ZI{u*^=AP90v4hGt>zX;-O1$nCr^w38nVH^Hx+XZ`BFbtKA7< zdL}_X_9_75DxeJfP@-cM6F#1UCeQ@&1H$3ylnM%x-nU03m(u%-<$+kar+US~gC8dx zlYQx|dY~)w-%7W!+`7NOb@ggML(CQZL#M`d_o0=qe4I8&OX~%yR0;g%tRRaREZ*8D zNTBD(UIjwSh5;D_ZdTJV4B%<06Uq#8W(mbAbdyS2YS%9%H*ndfMJwbZ9*USlHqNJA z>>JwnK$xLRTPkJ4DPh6Vpf9xP)cmm-pqJ^`S#73Uw7O=2PHG8`Fgonoo8ek9?U9P* zEv)-ic+e$_=w5{p_Cxp~A#o)05mv5ii#a0P5T~o6Lzm=AfENQou%WKdzb>XyxjDEw z=wH0(GOtL09c2Y2-tn2#-<0`nOG~|G5g-NUMtnz_yEh{M!^0NW_g~OP9g8S%Gp0zMU zg8Udsz#a}vbQPN!eX&d0t66lh)%SA1BttHt$^AVY>n8#scbsZ(2OE%Xj^5ya@xzRLCWx8x>70nrD z-Q3M=n+KVPnn#+)na?v{NH*3P=DFq@%(s|VnOB?Fo9{JmHg7jSW`4^2ocSfPxgfox=!lBqxv+(O{dK`?a|k zG;Ba|+l~4owX8IXq#vF$RBthV9s8w=?c}N1p6ima0w;TigXQ!PA?Hj(!E$J3fN`3W|gtg@wQb7r+uh6A6QKf|&xq)QB1*REE*- z;b&;|X$6LheWHQlHY5a%EeHyjdH~FKSYp&56hmj$I2q`)VH$0;lcW(2ql}4p^SX^_ zxXXpsFx+V^m~Jq_D$!@rxDcF-um@n$(ZpfMu%{y|5i!zjMFR(+nJ1g z8i{s#_QZXx8v|K55&aPIx-@KAu}rr-yF?$%tW-lMl$2MX=Y`6eLCOL~OKEpf0%Wxo z1FuS|7({GtM$HVvekTwsYh~$oxd9cbB3XbHjs#dk%xDx8(&~_ap0xyH*oCSfzZz&*cvQe zan)T_nM;xNte)-iZcRS6?bs(2GHJ?yT96Lomfx6;^ zkK&G6teU=muhLOjxZxV8%B9M0?6WY|(aCo7X0$BJshs}MXiKWIX^3~LoP7h`Z?>;< zhxpz;NQ3ZJYLrpalXy4h)C=t9K6j0Kl+wvcu6O|qc}@MC5` zxv7DgD-BmTM!NHW8=?=`CNx#FcunHjW)8(1Ao&SJ~ zhpFx5ev3|xtL~8CEyg$*>`{ zlh3EJuA5R;UY+bX&D57@#FtqBh(LG0nL(ODS^7%0;1<>mWYrwY{Tyvi*UGFP%%t4G zH|MQYnw~V9&Fwalx`!roz`d_v-Ck^d-OV(ZW6+(Q)pjwpznh}_4GwIi5j^~S@kcV8 zY&s|1$W6+-KS5?Zj+4q&<|akpC^W)mOdI_a;7uZwSsyTv`?zr?TD z4ir+!tQ?R98OxfSB}WWnfRsg$#LbzwgLC;f=Z;N?R-04Qq9p#1RHVUt0I+XxKVkSbL@CQ-fBr=%DINpiOhw|kdN322x$yS|Wc*CN$F)&==au~1}VAgUwi z&%Qfk*4I!tTom*pDZ_cl2!XxVYK(&?mc0($@s^2~3+%`seP|Y$kv4I-*|<{+E($nz z$V3WB2ZJWL-E9=`Qn8D)oZ*&2=86-*ANIFFKE#H@W04O9G#Mt74+YcYL*^soL%}rp z5YifUMm|Iqz}DnL-R;STF4cO`6w8I4BEAp@nSCw|^KfOWk#1V5imhg=bf!+fU9#_k zi?(O(2v#_Qs^%}F?UqfLG>!$UMlGk-jFkPhKBWfQjk`#bgsMzhMZ6&f7es9Y)c$IU zcqkl$SA2|QR+otpX%w^f1~Wt4B+;>uX&B(_2AAJ#&pXQ$VxAhXd*34gcdF24Uh7$p z#idlwr0H4gijwK>6W~&6K;0d#a;ta3rSxGxerX)Pj-KZeQ(Q{d;*r*Q-YffDN;hkN z&+WLBDqC?WowX&G((AMkFH+jt*V}@-qR(exXN!HVj7?uTVKm{4ydw#jtIP^1Nbw&j zR+}T+5_3eE6e&}0x%NE}Waxw}V;POqbixsj%mh$s^qG`K{n{oUwRo?#J(~5K^qk^i zmGh3F&qz7FhvM}W=3vblo9W}vCv{%6{lilJKDk`HlnjJ2#ITCPwYi5Z+uYq&B&luy zMF*Ia_SVXL@Tnt-`awbxwHNKFXYY(8>KH9Z)%8BeG*RNDK2KEdGA4>zAIqrE6!mZP z(W|#5iu$idh@!r{HBZ#!FnFRmhP8RKn!`L%t}$Q~j2TALm~G6ZS5_L&HlAZV*LZ<( zs_`0N04c>jNHG(P5;90}7?uD)7EJ~s#VH&zu_X|JL=;Znv)*$0yiZP^2GxL!PDmhv zBKV$|dM)94VwNW-m|}S{AC2W{is9)|nVo_ynVk~ea+{PR^v4qM2(yz&!U;QMc0whz zK#?fIbqyvQUi>EQ-9j+tHp_bcPnvWu%^ z7N2KFFosVcL-@nKHwgRJ+iltaJ|icNBPl(bj>4P@vm04rZ!t0X$CIAp>B~H&*E6-z zjXKP!y&-+AKBv(c+jAPNL-bH@PiA!X6q(U4L1wgpMDVe8POa^e8TB6W{E*pdwq3pVv-q~^JJ0{GEnNqV#zMvSt`j}w5KkH36@jx1}?~j4R*QKy{mIJYM=Ez zX>bNfahrL{!zYS+F&g|@?#06G0+MnyaGEEwPpo35px#kCq6#{egTae;LJ%bP>oWx1 zXP1ftN9)r|r9MMYPbyDe-scFqVVWc8Vh+I?M?f|>_v}xrgT%8RkqzP$v7T9YE);JR zmx~SJo#GSX3*xKdPVpV_Bk>dQfcS;@wRlMMq?E4A$g-@;mYgdW$gW%@pCR{`E9Kg! zP{MT0UD9Q1=|UG_4g+@d@Cq%w);Vt*oAkK%s{`U`?3WUphu3y0+J z7W42${Q+=7GRC{b@aVp?Q2GPjio~jKjrHx``eI=hhmjXF&NnRdi&;3LT7-#C0~DwQ zLZ*4E*h*sXWd0VqK_1)26OGRFk_AtKX#JNbB3P}$-=bjM^lloJSe3hhhCQ2xzs`>K zq=z|y9tt+He?_SAq-SkE17~7p4g&`_!DsKAiCh-BGdyq~$FW#U|V^jkc=Kh4X_Lh%jLV(T2SE}bQ5_Ka(2Ill3YlloKk&L>q529(mvMt}i}8^@3+k7RuaWKhL*qW<7shXm z2aP`qAvD>(dx#}s8R@pe`kL)zahf=tbCNC=mx{{_Lk&R#O{;+^cG16@22g*o1~7M^ zYn`?uhKf`Ami-5DAf z2*evWgYuE^gV>2)Hc2l-iHUW+%jL_(3nriK+4*^PI{obB%C^(5gMp zzU-9(d&Q!vPN^Vo4-DAh8&$qCkWSkby4JCaO*<2una}TLd&LcTItt(Lz%6CB)oK)m3@<8Jj-<}Tamq-TA?yVwp=DP3JOjv?iP+^d6(-7MM; zy`@4=GEm8@o9v96_fks4y~|ISo1WFsFF1k5mp{PHkEE+!e4Z13HK@?|0xv$y^U{ae zfpdwS&(Fii{+Q3qv}TF^Fr7Av2O*xi{Y5Hdhd?2fi2zw&#Vh^7F0?Q zw#xOZ&(x;Xl9rX8Joo;!e!7_X)jS`CFZqz}HNt`EF7X6x}kS~g&CYoY5F)kL0J;l?-zW-Em$3)@tqsW#e zVrO!s^$#c~v{&3-B1~*^{6G5-dB}UK>3lzXN2mGR?a%IUk8(;4WAWxqbWZP8*BUE~ zg9!s4Z9LyN#dw)<4k6%+2m@bcTxDEqTyMPJ_>ghC@g+Ku-!<+w?lJBcV}u8m5aK;Z ztR}n*R`kRsIGf`rZ{!+`o5jD1kBLu<&lBSPhWNJlK4adWfp1p)fjPUD$4!7u7nX69kWOvX*0yhx=7CD6UrSn zk+Oj#nV~voW#Dq;nhXK=Hv;+`l@y^O1-ngF1l@HQDHllKNYZ*ZJvHir!vOdWmv$4D z2YiQOUqbK0jR*}9X)3xbGsn729?N+&+y&Dq65K>6YZwVF!yS$SMd+zH%xxVYcDtNr zGEASQ@cAa)5mU#7DJ*i4R5M(JjA9~&F21uJnivPZh%VvLVrPQ;_AL>uS+--h?0GaQ zU)aosUO=`E$?*s@vm|ZjnNEw0ux`V~Z_ycaqU(wx?mga`AhGHcnMA#2f3lqrfokfHU~;{Nj0vC8JS{3dbyJI)e!pD%;S=TW=zY!Cdx0inpGOEX zMxGjC4D-`}$pA(B|80PqT`%k{^n^Z3Xn82=bh@^*t7Tax819Fz5|$d$Qs0zE(ojZO zC1K@c%~Tm{WWMdWIhA+pwX!NCU1XM|cHFe-s|m|AZA&^TX9`E;EfHlb?bxG&Hlm(g zo7_YETKJZ5Lpsr((n8UHTG}$JOb6flLS%#8@!gDnJ8g|&qz&2owY=Cq$7mQWV|QbL z(J}Tko?#q1&46n#g*dl~ATiUeM^2szU^!h70(n-T+6lcZiu9ty=IolRP&!t-kx*q9 zPbMD5ngRW2A@iyY_!C%-O5@0=qruf3lm_O>3p z^mbK%Vm0Nc;xk=8=hf7xdyxkJrVzfp{tq5bAqY+AkUf04%&DArtoF~*!g-^3fGmZ! z^4ny5R7dFhjUNC-$&Xb?Z;)w-jE0S_f-&u^#R(UQLg#D4s2XDPo#tWct^X(6oh@_o z(frl}9Efji>$M)3%IJG696c2v+j$n>z?NBj!$}rjaeEkTK1voJ+}q}1y{}CER7_NN z=pEg_Ia=qzGr9`?zZw1HtmC)$4_=l8pSDZNx^5~d>w9pQl9i^HtDJp$KPl^{zL)2u ztlAc?(*^2|-pM<4{C$SQt{3$EetzPy>b;K>bi_M%mLX4_BHnFN2X37 zyZoib>BiZ{1;(YujmC%Rl!2Gb2&ND(TW<~-hEbz9)&5xS9NKobg|^*3w6&3S-5w|8 zO1B-Z2*BB{LrAtA^xFv0DGsJ{YWjz^@OTcb-9MX!t&ZjNv4hb%FE52K(^=O&>c}JB zQWc`$r=*-KowS3(7ip4SaDAzq-7U+LroFpG*JrgQ_sZIS%@%V^QAkTAhH7s)VokjI+2(+FGz?yU`Q|3)cpvKxmNSjvlSjY17nS+Ip zGXoU{6OPmDow)H#%XEa*`!w64vf8nJT+@fWLWX@b-r@*U|B`ybIx`C?^+-kU_Pd?q7Of&T z?Cz7dp?nV#0nBRzC;GjSW+8P>ai)K3s=d)H{4{GA2%%*=+?c7@;P4h#AM_K=P&m=w zxt(F|GLI|3mX3k~u9|Qf?m5yf(+vv;*;EMigX$h z(Z>1lp+RXvlX6fDf!m4AYA{@-lhwj})!5N2~NSB~utP;JY$mIt76#$SB6%!=M-zn{7F4&@P(QP0R_uIO6j#Tnk$FW~w zDY>bp38jQEG9vMPN2)=`v@@<}-DQ!{|01nNb85M_I9KBi6eLeNrms)#!9| ze$w?wEC@-Ry^YTCwRD(&t~C;0%elE;6O<*(d_S&LVFl$uSZNj_J6A@>o~5DfVK_cX7qh4QXjH#*Mn;iJ z7c=`!gAVq+@{2t0SzC7u`j;&`2EBQkmO<~`qGiz0kI^&eB30Ag7S}KKylR3KuGDfE z^e4Gynu+buH#sgxIh!P#+S7BN?FtiJ%Si-Iy@{TGz3S6@ly%MS5Ag^uycvz2xjhlB z%1lW!XbO3wPeRaoc~~Rs0mcE?1qgdIKuo~AHMvY$$N4~~P0w$mv2e`~M+kScq4s<) zm$SL476~*|z+3%xOWt4F%t?q(+NQRgy)DbhX4hIIOwD)FWRKK9c)uPUy56qzH?{uk z7QMM{nC{JW;MT3V=4`RU3p?w~MY1=707ktdXO^usPGK$mD&sZAMg1(~YmN69HygJZ zpCYUH$HspdzcLJ049Uh&(C$b&il&{=bhi3`xtfV-%Nj{3H;!#mn2w4slCoS8UuRLs z9&M(d3sC9U8=PaZ#~_1Z0-GZ6~S2W|q+;>%bQw zJA#UJr2Nw0NZ@meigCWy7sWnz9Eqe>QVj%E&)K_Nj?-f6!VJa6-Wv`}_g-?qgKJ0C zSN90OsX$mZ7cZrWU!2g%a4P~VE!j_KLyv|B`HZfHInTomKAHBX?b}x!8|6-jtKiC^ zbE?iKJ35;N6~iI=Dxz=bXex&#DpO%w7YTkPPReQ(6n_JXC1D< zpfw%UE90COo*bcbq*x$GEAM^ho|8v@Wv2GmO|=KdU=?SKVwC68zuu9$=FNrlQv|zc zw>HJW+9$9jZtXpjbhvjN_?qc(MI+%d91wce#qf`4WZy1BMJ7EfB!$Nf4``c_#cr>_ zm}oroIZZu~*UTLmj?Aw4zUS&%GdUKc&Cpk4HqDA|`c8_r;U4IVVAg3be$x01=PG@Z zv)%7E{=1*;4%Wv3=9#E7&%``2E*6O;VmW6t9@S^kN%(7#>Ha(M2k~b*?v_l+P{wkI zbCbs9o^rW7NFFYak;lsunP=j3^nIBL0tnK7$mHe{vBYti@ZJ@;POiv5vEmyeg$Y&$ zvL@L<9(l?;hQ6X&u_;K-o4s%Gfr#K+sYDt27 zNo!9o-Yh0k2s6=XxuPZh1*yxa0UQ>OhM43pb9svj8wAcq%d_K!adYuP71+=~sX-D0 z=#gm0&0MVWb5^zw0Cj?0_J`yuI-52f+}=;Mz5^bV99>KbxCs{kL4bu`q-v3BLX#CQ z|E|_OZ^e;QxzfEq>67DY!rA)d9HG131)d)YGs#;ffv_~r<@WJYhb5WK=hJ(P&Haq$ z^>ObZ&VoLMQ=;eSn>a`M)i6^29I8=8xU>mHy_P;ch9S`V3aZfR1n#4|^$1xI%e+sM za`aC3^kt+T-%R&fOb9)9S~{c5!hI+nAkmX5HvM!aL>ovS;wmF`ZLV}_CKQ^{=w&*l zX~{K^US%WQyXupv5+=+``T)|lD3+VuyO>n#Jvr@v+CR-h@5Asilw7ayxyK8HRPX(& zscP{}v8}wKcpa(i-Xe3D%nK=1ne2(lFI08a%#aSh4xB%K#uL3Gu|LY|J^PE{m3=Np zwNQlTy zZZ;WeC^F#nigcXLCgvuc44Y|)VHAhCvWl5@T4ho(O-j{ARe?VW{WfDj!Ii`845adC zR5=B;c??ZcSvAV&$fRHg<*H#NI)*e925P(f_zL7mk@DguZBmuXg`po~!R9J9Daoc{ zdku_CbP9{~4xhB%l>Sn)xUbKcSVlVO5bkA(*y4-1CjVyfVR5_oxcGFRk@%P5_oSbs zw568$J|j|7?k>mVgj_6_%4f2cI#NDYK2M$`Pa!>Zp1eT5PQFE6C9jd!$s6PcV*yA+ypT0O?ld#9-GYdFWb!Wn+lhlfP}gelfR~LAGlEUf0s@ zmV4kHbxVQb1@hdtN?M81FFO`!TJ=45okxRoQoWvbH{Dh+m3dz&L}_=@HYQw`1xc^} z9Dj}SD@@WmY$YVU%vHjV3cl4Tl3t%hdj}-F)>}c+s{;2xKOyN|fEn0|q&M@BHAT|v zUuew-+w2`6+)o<2kO=KJcF}J3i-8W!{gi(oGv`j?J#HM&xr=#9oYb(OBW3Hx!V{fhXUe*~Eyhv`xrXVt!1TW~5Sja_KIZ{fh<*)-$9 z6*LU{V&!vV7ys|NvCGEG4t<Wv~EwKs}6)f)va^_JMCH;UMzH;UNR8)a8-l%4lRncTRe<|xv83cI89 z{2d2E#m|$(BziqmvH0aS`AL%xPsd2bPoDBFDbHn&R@4rcjPEihYhDyYnSEs)@ieg~ z`^gUB>OOeNUQE*L<>E|nF3Ga1#kJyH;zoInJYT-v^v%dDn={Q}bAj147n#e<73Lx4 zYIBWwg86*&B=Z&KndYa=FPL95ziEEoe8BvL`D^n*^Us#BQdZU)u*z1|+Rd70?PV>u zR#=Bv-?F}E-EG}#Jz)L9`jz#2>yOr?GF3_y2|zAXd#UAWrCP0yQESyYb*g%$I#*qQ z$Z*n`fsl)xFnQGhR9anRv_Qha!^R0O3|#6Fd)AUJ&ESDfJY&eYM6-C3$m0$Er7xK7 z3-^MXt$<7n*rn|8VGlN$;|*pVCE(F!UlMRjoBJj+wO5B3UlD?9z@~2_>5vS2c%WFS zBwaUn7)b-=iG-B1i&W`^#*8Cy1q7};ZRVF~FYRdzuA3mk zM#eVNUbnkL2&$n;HK0!7&r;lOxyar`5{#1do_ze1cu1NskV=NXL=@LIW|uD0GI|nF^GJ zKx48KnA>a&?K`kX2#V6%`c!Mcy!k0Ay8Z$*l6}Cg-wCL+BKsYeh)$6JD^`-*XY)7F z6rpTF7sgZ7j)oDh9jB+`+}3fvvYljLF%Q^uoP@oSyb;0l#?->lT;ovK>|^FoFLe5N z0*{B-y9r`lc3viYy|jEFD-Jm~XsQ)BsN0L&>xCwdiCWRNtkX}WXeYOUA<*t(bHMLO zN}Cpo&Km{^wW-*QpCOTgAf(@nha-j=Ra}Yxg%EA4Dcy!=pWk0r|vS!b493?4gL^ zIY-B5(E|@9!7JwCO`HTMx!5A9V8|&X{%IB`;4M^J=O`qNgFsP_c^U2uMFlv*TYclH zCdZO_jgkWoRz#XJP}on!<`ZtiS=h6k6{Ly$2%bUPuYnj{U3e24`3*H2+Ku$9?I(Rj z6q3X=87H=i7*3)Ec?id*JCp2;vR_s9TvC{2P{6A&2iGF(gj!`5DaTlkz#lnms*$h; zdxD*JIoK9HeaUA+G75BTdk>!uGijBwmzs$7o(-UIo9B^v^dsN@7~)pmdq`U^Ojzf* zq_#In%2Qrig`2R43WU?x%+aIi%)MIF{oZ*zUfa+1eu9{n9iPpL8V+t|MHg3SeUtWj z^ud#NX)y-|&jLMpZ`Gr*wR7Bpd<`-X<6Kk@X(WI*_tFSHct25IxM zI|#2T-Q3#;aoaK(TxgMw04@!ZuC3N+_UvlS)^RxuL$b0W#zQ%8VQ#h;a@rdiR`?x^ zBi$rjTC2HsQ-{qaT(+9=5uCf#rfmmb0`v=;%k=3pfnI4f%P^JV5v1D1t7pS|`c>Gm zBTCN-YSk#6#q|4CFY%|)J)4Ua{J_;HZ0gys#@glLYM+_TPY|}o)gHq8w%xme4Jj#n zj*Rxc%@g?}Kk^%;s5W^oSz6-h-ny8cUFqKbSfLFu$F{u(@ua;o$(&XdagsWcEV|xl zI%XO?{e_&KTn5&cDos675gNIvcJB0fWF51)%$?U8k%t_BP#i|nB@UzOE>XGDy=ZbV zEJ2q{QFV@!8qxRBJKoE2+t?hu-!FUd>0!<$JNF*GlYf4VF0Z{eRL3%PO>SU58SX%- zx;GiCyUHWiO{Zx1Vct@+1AA4}20u@Yj{-f-9W)ew%XjMx>qd?6Q{M%ojr) zuAuQD#WtsEE9oDa98I%P4aEgXI>`A*4Vmm=N;mjv)5nG@O1gQ&UpSX6+6$|QBV0`r zL+^Z$eo;nl16=jmZQ8U<=v@HmpitjT#x6ZtQ-Nc!>LE@}yM~(>*k$lVl?8yRmD?E|9UthO--PM*5OEcOh1Qu zc>p$5{zB4e0(%&)&2rh|Ru6jRC<|FVl`6o_85ZcdH6;E+H45IkP&M{JFo{Ol|AXlO z+Tybx><#Rwx4HD7PGP$RQ$fh{z2BqJV;Oc%Yzy2l@%#@OgcF zD)3jt6Hq^pN_W%$^E@-Vy}2xk+Hy3TP2PFuo%emt-}8IIvKkj}xI=S3Y&#_Ss>LXZ z2JvnN@N^f!P$0kw+NT!M*c+@CPw1R6>=(>26s!^AKlx+b8?!DkfGJv+snizqX3B&Zd7?aRvq!nvqulIKZuTfQsYi*ib1O-d zMr~`t=Ze;Jt2X;loBgQGe$>nIqkgYFDo)dS8hI#-5?7@2tIgiWX76LO_wf?mNBkQd z@5s4{QD2%c-DkxHJN(&+uxfiCR?Qeqx{xBnv{_1^*%wh;{vtA=mn_92^yc&nO;R|b`S3THKXwBhx2()fn2whtb14sA* zwGkj3^%F!RSpEAW;@HOFiv9#rk*&7gt(bfM)jJgJI0q5i^D%b-O*bT~o1d>Lo~=&b zvk4}^o>2nOLrhN$(6dX*S+HymY86)Tnw~EaQ=}&VdLDNDvQ>cn#dHGDQ?{Q3Hx|nZ zHfY%AWbBwV0nn4wLjk32HBXwta})HHrwVC1K){htQV!dV>B`iiPi^>ot$bl(FZax` zKN8P#iwCQ_n%_)ty;s(T-L$kl`u{>9uSJNSzuZHJp1Z^Y<8=~2^qMM$=wZLFqD0st zUThqqhl4%7Moan8jIT#v&f6CCvZU$!%0IbEJWT*MpEpr``=w{ zZr8xv&aP{2Z!>Ogv$vDJhx^Go_hdENyH5Boj3XSYYrJOCp8WpDfA%Uns(b87*8vai z?}rfvYcz{*5~NVl$FRR~71s`7d9D{*wQB+m@q(4L!G=0+O|SpeFo$BFjUYBV&k$U* z^TpT<-O(}So2{2=?A{3Hpcy8KL2n2DE}4z9e#0&%gpN_<${EN&H_7M~Me6W7%nL_R8?kbjiVsT`QG71awTc0i4&ZPWtwX0;f6)BVAR zIb0p1P646tZuMSu{=aR+76X6dA=tQI{aO)M>&3&X^lEb;b#ox~KQoX@WP{Z18@rjq zt>)05BPex*wcL23abr`%bi4@@ZFL0XP+O~s9-c|Z%S2q@;!r=!aoA2HF3p|J$)RlF zX+b&|IKp(SsRwC}uD>>OYg}YY%&mkh#z)*sPZD`tn{=z-XM}X8jbY*pB(fVe&gdGw z7^7<#_tGTln*umy4eSK}V(hNgn(VGo%^0~{4W?}KDjH6)kZ2)kl;zcqmh|RxMLknmrtZ5w%JV8V8S`=WWe}I zm#_^W{HfZhY771X^DLLE+TBOnDVcJ^Qb_h2HXY0;s&B$VCa?^_tiFn3g6!8BY~rUn zexTwUDKtSnp<-ayNxm05N@vI;P$SS`hy-YGm{o+%V3%VXphdNCJ0j; z{iFk)m4gk{0@eA8{s6U(I9=~m_U2{P7h$$nVh4$<6SDn%*Y6;4MQt(mkXVH~@459G zN!&fo*?%22k~k0MbibKZ_a%)ara9m+VQYuw6MZDk%f5cY?X@_bKFupn1krccP|&>Q zd9yah$T!ExUwMpNU8YZPGI`i=@U+IxUbi3Kl;Clg)J1TilvPF&hN>6zQ=xn*?opa8 z4Zz|eLxHZA?vFc}>Tp)ld`}GXEXaPi(jE%aLfMuB$_#(*95vw8PQhMtvr467sOQKo zu)V55M!@RM!!~#a#Jxw3qShn*8|pl=rS^899v+_PazM`XZ=?r_N?MS-K~alDc$!HI zk|UI(linZxL<16yq=-%QHQDy+I^#m)V&e+q!^Vxqt;QY3XN|iP=FD#!4-sn%R?{I8 zC?q5haxGivdMqz}t`*sJ&KVfbWG9xH=xyFea~Bwdz^+q`LC&?O_a( z<@M2S*J{6vcDn>|qjtN|M7!Pg>UO*BiFUibwefbl7|vO%-LAiWyIr=o*4;1FpVrHy zV?G(4?s*0MX-`AOUwFv7Z=^r%kqBET!HE6dcz;@IxjPMMW8(g_`!~HW^7NbMC&OZWV#4H zG-7>aF!OBi31>_&G<8jnw z_#ActyO>?hu4W%$H?v#W9qcpg^X!Z4tLz)>TkL!6hwP`=dx_8FBYXkh5%pCeY9KRb zf&Rr58c08@8D{`n0rAe(rz6ulvTio}5JH3Wk+EzXf?qfMRu0=1h4}wOZy`*l86t)V zIiy+3uY)iL73X1xGKRd~P2_rKF^N28%s>|q>}QzRIl*$ZSZG!l_Pk9XTf>dM;g}ed z^rVFXZ#pYP)*$93sa3~tt55;s56oICAs}s1z7b5=CMIrJp8&HMNk9>36vb&pM3=P+ zpcNtlWGR}Qg|nsK@j|Lb;FT_Av6BfjSxXQ4Pku zd?`y9wcz3rlAvKG3IR|f@GP4oo;9oHE8zb#*6Fh-{R9@V` zBqHkrv&CV{v^dh|pn>1lK-^e+1S$Nnj}qnras9CK6Wp3&Gk4z68QcORX?j*qb#A}* z95@P9klQt>UU@%!Ph0_(IEb>*MPV%{>#7Q84ai$Th^@RH4(KW@>GF1u zIGiwo`If!vEIq3PqN<0|1X}ep@bL04FaG9fHi-Mi6gal!DtvmtQ#~1uI_`XaC5V=i zT6sQFGL{hkz&n2q1C_269X)_48Sovv`JoBNI8dcud!0w%YitB_H9H_osxKV7Jy3qy zJGiAl_w0fMEH(C9tPlNw3i<y&r5Y_*g5GkXdX=QAd@Lb|B`8@3VBpO5if(5sDjM`+EU=W5WR%#%~N%+ zLwOjs6<7twftzoD`N5{c^j7{HjD?Io4P&WqF-=gb7=0x|RnX600S5?I9u!DTF|PMF z@kZ~Kcz+q#61&ZK{}KJqF0T@qk0yU{hX9tRa)0N}3%T`MRGeMgXqDPRS{5@Ec7q93 zk3gXE7F1h!3HVYkN4JEm#H!%^?9TRPZ>3JZ=>MDqngx6Mp=P;;UC%zoK0%u0?pL8d zdM7{yiN=8cHw1{mzC@)Ax9d$re1t^HFx(3wO|7Fp5_HFK45&onXUwEifgOCQ5EBZw z)duv(IEvs^>JPPAPf!=SMjzXtKItZgW-QlRQ-@futrF>e5ha3f3PnmJM2=@zf|nz% z#S)MPLC?pXaybm0s}iZ*uWPV-AJC(BIQ#{b9i6;dT+1ei>t$sS92Ys@ZY10OIUwBfQ(zgALP zbYS#1gCIQI%>G1|%P&KU_LC6`XC9=caz;PIGLHFp&s87rK&--zKX4vc);iAef&IN& zg0h`3JqO~|^A>^K4hC=#kN~Y&dE`w~dL8kJwkcS>SZVxngy%pkC`Z2l)Asq)b;W3$ zZyrd5C#KRiEY*#J|G7&cDUK$A7|qM#wxa zY>^iQQ5M~zPi!fsiy<*b%op2>UBn(@k=S1xES8Jo#7PNa?^1E4_z>as?hv09Ul3mv z4~id%ABo5QgR3jLR|Ds(T!!b5jioAy0$^WXQ8SEX8 zKm2acw;7Q4w%V?)R51pX&6`uf+54ald=JYp>PY+VNd#)o)XF73=sH5VNpSmrUv-DD z2v_E+nf{zGhX@pSY17CEQkT|{YnMh8)+n(3Y(08+D5Q9z=vVA<(q@0TCvL`Xto$h! zhRCgvn;I9RxNOrvET=qG(0+V=Ftzr15K5 zd!y$CYNEE`ij8nk+qj2`iiRLrb{r+G*m2DW$_cpK%PlJLF$N97$Sc)1mzN}z)&t}d z|2y$nSJ;d2SR@2xPn@T$2y##vG!hb7Hh*;xN6m^F|{9Y6QB&ku5VeYW801G&Gu#cvA45B z*%9mn_I`FLyN2D!KF)4qpJI1|?wYkhN6lKxL5p6>H(SFk>ur&uzzV4rHUo_Ci|A9v z$*|-#-f`lqV*BA%v)96Dp-!cR^e4PxKg1@v>$=eGHT~@78cuvOY|Ud6-oJ>618@g4 zu;X!LVPRRDJXALB>VtM3_Dy(q9<$~#tSU4c|NLl1`yU_0`Iq&mkNSH!3T*N&!P32U z9UpSW`rhM;b$v$Wc$LIMydiN5`K9EijK1L|9K+_?9^uT@uHeEAJAq;10rIo6R;n{o zxy#_|C%a!KuXMI@XOP=k2Pd|e__%eL0%OX%M0syS$HPzD=Q&0Fi8UPTpN;$83nv`- zV?cGsuKokIPFrBOZ^3XCI|qVYk6svi6S?>Aw`Z7^XNfNGFsy@~Jm{KFy@p{3dy~ga z{)L_C6`P37;MF!o@|E3}c#ZW5XYnL*7WaN}XR*Gnqc~%=hgjK|dpINU41Z*$?#3_9 zlkQ9y;S=br;;t^?i2UYBJ^t!JGs^{ zj-ALoKVUq@`@nV_;QR0;{6KyPU(S!^C-T$yIbbhd#Xp?%V*EV+Dt~}~k3S4{<0JfW z{u{6w|0Gt+ zY&LLe7!v`12Fx?G@L*K}csSJe!h%s_{$HYT0Q<6m8IBq~UxiDW^r{HkL4=NsLZ~pp zE}CtHOBxL$xC;%|?j)X4AMS3!b^=?Pk}vRBlgCI&46HfB3=fsP{rVRDpP?&)J~Qg!%+C#Bm6#k zKyjb$VPd0bVyuqNdhGt7D>{g*&k=ow;$7hDP%NrW(`plkL!3TCcZb#a}0q4HV980ok{|`6Tb;%%V6fn zv;p65kGJAR_pKK_;X(KsxxNnVUjO-sM8Mcn zxzrzkb_excHp`yQB9(wQ3tpIJDY2xy0aeY)UM!k5;j>lKRV`56v)pu+tj0_}RFyQ0 zjOEp}8Up8g5D^iA6;uK&mnk=y# zcmzGcNZ!*2!&}R>KJ{P~?6Cw9;kb6@pq`bz$fM@ZrB)DPgJ}~RLVJDPTHmibb*=d| zX#R>Ec53%RT)?2@Rk6>tDp_M^Y4$F{)s1-AykmFr6`F)aSBiZEBeCEFy#tpzC}+dY zqdjmd!Q*f{{F>~gAUdC(93^r#rW- zvSR}p1Bd4M{pun@j7J=Or9Hf!8Z71gSpim9szRUbVqaMJ_FfC)=MWHhYH%N!ib&mnAG#Q-7xq<16yuB8`w;m+8F z9^N}ef2OSUF-|praS==3`2odx|E6G>K1y{46)Ym-(*srZf_t;i+F^iLot7$j>|I%P zQ7tz3=f9`608>D$zk}B4(cfus#P~|M&cg_1$D#^nkryDX^tY*y{NPY`rUq(JHgsx1 zXcv$Lu9nJ)`DmOPFbDQ%Ry*EL0>bZ%9fQL^l*OU|Y|Fk}sgxzlx`DG42GR)J4G(H; zDWX5`ML;J089frVf;b$Wd9RIS2&R^kVagccb+Xy4@=EHaX}pQu*B z)q}OMTq?y6;g&;W$QZR8tkBmzC^f>Ytn+%BoTaSkBt!%y)$g?E5Ib-T%=CUjUeGdP*c^I0RsNP9voGb1qrcz4PjpCXiB4} zgqPEL?kOlVj%`=X-Kld1N+fR)#=ip-XP|d*s73-=xYaDDf$+YV+=fEp-T*en=uuUN z=7dr9hQ>%ZJYS?vhYg;xLOc^*wyQ$%bWcA6A9ZtEZ4E!pr(sG1E&47!XwymBdLT*8 z&YoAR!NAkva;QeX@@m*P2*I%?44%$pcu?#rp;w&BX6c${Qm8@YMp93Nnkslmb0Vr$G+%D~C34)~R`-kj>e|pzV0^ z6Lhc&1s{xRc=4mxBwf9dibXi4t6-;s4hq8ouS!ulSwLnX(@KRQwonR8*kfkZYp8^1 zMj<{?$2{w>$SQAve~v>2$YNB6GpH37BI#@uev2F+AP=-zE+OVm2XVa3Gi$`!0~;^I z6b2kc7_#5VQh`kme4@Xsuo4wZ#)29qOfV1CQwABYL3cSG*6*m0!Nx1w#4b`Q)v#|2 zyo;n212B5vI0!)W)PP>JgBmnX)l`61Mv!9{ikJ|0F0mU;0qHPk4ua6Z3N^RawzE!& zl%|697(hU0S@o1v6$E#NgC$_%JtNc+**a9Vgb6=fpccv=1OWBlBB%y`21t??IPm}b-$26H%*SU2lqTd;v7 zmxCQ)jw9Y_%tODAeSlrYu3^7$ON-Iz=(ev%*GHM)kaLihc;gj6^KO-voPRS7UGa~2)Xy}uoV;Asc78YhkJ`_Jx9oXZ&NvKTy)>+>rG1B!Nw+{JWPGy zeH75%MYOk~#xm4tFvPOcRugRJuy43UNWD1C6cY}kF9!FC{u9FG$;(EkjZ*%D;J^@5 zW4nO25IfdQiYp9O7)=#@dAKVoY{oj|z6PbKV40+wN84kq#YF=!AG`CbEW znUXY^sBDmHHB3N%qM~dJlP9jw!66SfrYNLo$G%l7reAE32hxl24eCodOj%ACzCMgc z1TLVGq#)*?5K*BhMW!fE)gt!A7C0{GsnO!Kr?YswwTECNY(*JjXa$DiZFPdG1om)U zEtJno>91VAkLL$<;&hto21Rd1u^u_TXQse-o`m5*AEUF)A_bR~ZJUwnJ6&<)ctq=B z&_qi$z#NCFR4SmpgwjnJrh=ljZ4VO~bzk|qoN>K{u3vZZ#b!m#)RXE#X92tGgAd=d zYpM69_xUrY90k`o*<0+ZvD-i<-mImVUnv%~YmcRi+T&;XH+XvV!P(tAdJicL=AfF{ znFTU+SZ^td$E$#8-yZ9LxA2VZE6=v=qF1MUP0{tWmL3M}we0MqzGl0>YWjiiN_LlW z_mMEs&c(`Q(<+@I*HcAyMWAhP8K&30C0jBFBl0Jd)YR>KFWMFqNztCErXp&o?n-;C zg=MK-N=mh4s;*Qp=|u1gTmVlO>lL@JWGhz&2P{eD%6b3DEo@t&=8(#(RJKz*y?7TG zOdO=_+1g#X0@iYg@=iw+OnLVfJ#l2w9{s&`75_NQX{@06=j!nJk+b#aey$W>)N*O1 z1m4v912wiSl7~Fwj_#+$sk(^CD?R#YsnzLjk=<3DGy|1<#m2|U)1?wVF;Po72Z5MS zuKig>p3Xp=V}^?lga(DDyHFjv6gz%AL3)XD^ zK>bB4w>aC!DDPv%ie`@It9kX}*q^kt*|nCXz0SKZ!SFsrva#(dwi^2=W}})n+m97t zUp}S0CK^K5sHYqotOt0IL$zY%z%4LsGctRjw1Y}TtGeeF?S>}!7#b{fS;rh0JRVfM zmBk}U&Bpt!s9H|er^3rE(?U7It;g9Y%#A3FPU8 zitzw8%Htkb_u(Z{V)41p=Gc_MR3itJm8b~WImP8rLW4COkvbitn22 zxi%Op2+kNLkR{wiK(%(LUp;t2Aik24Wb|dV=v=Xl^23QP_?%Jmb~zAt5Pn zv55zStO+p38U*1$D+hzAXr)9%cZAKW@!N#oL5vZGOwj-vY13O66D0$wiEx$%foI?Y zt*AjX%*aKJCHH7O;6oTD+pg7YhnV#VM-W$p)2^dAhCDU#y}$@jvrYkCm?>s65R(-n zci@K>TZ17AlLd%sX;NSn2As!Z@X6qCoMORT0$F|pgr)T*^bqU<$_Bvtm=%Wh8(8Io z$m`p9G4?8f98&WbEF>DFBg8O;4BuFrjuCQrA0zM0gpR5&N(ic=b;zq4YYT0s|d3OrwSA7?@!nmcLW1zTF7>+CHIjCAYw34MX@abGyNlkm6iDErO>qLp^pEb|vh(#^0l9ReZK_&k9Xm)V zoynS$-KtCy$8NJ~_kk|43LGaRCxPyWaR}OvK-7c%q~X@~t}54aSr-g`I7ss1mu!zN z1QIs|(<*}HqB0pn)4)-3z4s;{$V)EGwP+k}Nq%84t(=m&1 zVPZ4wKDely0^BdEtVy6O&}b=c2}%I0*2s6Npo)>e*UqTPL6CHildg2(y=-0uDgq0z zLI@JsO-z`6A+7fC;a-bq4BMzGKsi@cDzz1S32vegm29wn5pgiA5SYS_PKd+;rF(+@ zQjI#1QLKny6Wi+pNm!&kQuVIs>NoGnF-Oh4H3%I=hGGEI|0Iv%5z69k>(cj;uP|?8&Eo&^5KH z8ktN^!sAn!f}N2FMQ{tQo$CP`I*&hQ^2$!-r@=>3l_;g6Oj)TZGGj-nR4yZPZYBjg zFD31+Qup4lys3hlk8&wyz)rEhnX)t2=^QM3R8V%o#lbVu29*t8FWQ-mvU^f`PC-f; z$$V6XabynZn#=Inau-}#b#=iPqg*c6Wf$_c1na@oGu?)U*O9a%FqGjv_#cd_dSq8u zN=>%&lPAM_xGQ7PbBaGrmk_x?l-;@!M{}E-cTx zYO1uq0o&7-nG?D)DZA^^oLr>gPF**Dtpp5kgVO6_E) zV7#vUN|?b5hq1qc;bg)&X@_=93-o0$lahvQqHgg~|?p z9yGTu+sHWQ7BQhx3A3FxbE@97lZZ2@2!D`3Cj>(??IS7=^J;@{Dt6`l26FIv$Rnl9 zV$3;LDZ!k|VCB}zo}PjS73MwQIb|`$N}+e+Ir$Vu#iIc2I%VZc$SxNQx_$tzfDXe! zbO!=wH!xD&s6>!II8}p`oboWP_J&ofR&~IByYcVkS7b%vLAaECh~jIv#4HHxUgFpJ zHv2yN5&Ic?jQx&1MRp+Lin~0|3%tZ@yqEVIMjn)fALA{F@QrFfC|gY?M6*Su4Ix@c zQ7&dOK=T0|d&&f3w$mg{U2pb@9I9T@rIc1psLTclYS6-LZyQVr)G#dyePN+S6IB0T z8%Z0ZLPW+uSVyoZ#qO{ovxbB-5rZE=8BRweG1`00#t>$^DeBN3Y6|>yfdUzz4@E?s z4B~*Bi6b>JM1jE_Fp&b#!Ps7-)ov8VXqI;N-`W?inP*)#SnxB z@Fz$s#cI+@e}c3U;jkMctpp2TZPLp2`lOW?YdvS29ZioDrm@{b!oeo?R;KE2r@5+_ zYKlr{>hSKo?Vg>pKI5Cev(=?)-VU(c+?avw0AypUWz~}Yve(kb){w64VbCOjDuY&G z7nP7htk#b$q0~5GWiW`0m4hI&+HpR@Q&YCZJNg~5H~fS%$wrwhiWtGwCy zDG0dZm=-y$dtZu!vz|%Ay_gln)9qKl!P!7{x3|hJ-UtWhU0&(LQt1M?pD&MdaNdBo zwA^t{O*lC3(B9VTad1}F;@~`eO%BcrG-F38Ew^*l;5Iy-95!5pfNN!E6NnF=fDcfd?QDz=1ybHJ;OdYG3u z$8=!TZ`V_!xhm@{g=?g&&Wh3r72@u9ja6{@_kcRDn%-V1Z$UO&nhyp-8O5+F16N)w%wC~;Cm?4tzaq*&yZpaU5RazvtWKV)Q0M+7Azvy#Yq(@OY4 ztsG3M;m0^LWDSjwCzP;IF-It|gIfMLJE(XucF=KV&=+L{_19zsjr-l0pd3+u%www= zL0Ozm*dQY)GUzbOp<>#-L5(WrUZR~l!Hv0F%EQK`1+P}^g69({US#}^u=_zm&rdEg*Q?hN@$k<$bCf=TC^2u-K~`;x(pM&2n5V7Jg}EG=F!lN*m}iWWVEz$FFs}g-e1Mr%%MudI z&I-p1hy`=22^P%7S-G{DU5+N^eK^mO>b%==E+H_$*oWkw)itA6eE`m14UXb7@u|cp z@A!$Wmc~!#`AmwV9MUG`3TSN?#o&7dMF?j&t z8s=_#ffrDz!Yplq-n+o){V&sb(0 zWxT^U1!Ti}jEmNg4YwGd2ifpdvLJt8{M2~d7zMjA#WE~p6;@}{VcVf>zzX8s*uJY} z13Q+TK^tlS?8od;_Dl98`#pP_tzaF_xy>`Y%&WY~r}3G* z&FAnp@}2nZeA#O#VcKG|bXi-vz=v=ReG2r@3bb)Gn#t1m$x_8q8N_pxEM)UV;!l3^ zK=2V#)X}F0M}T62poYl=sE`fkyTK*o>NS4j#vB@S9uktQbIf&V7o^!6uZPF+&_hQi zOZL%Cst1_-H&z0jZ)efq)MIBAi}&FzT@C|1On2ECjc@w9p86Z8!nt%~XKZMlIzNh6 z@fjGi1`EsXrnUZYd}5B$`U;OG4wwC8GKrgDLf?m%Q{cW4ztkGvlyBsm?U!uohiRQI zahy-%-^aovSg#fqu5_`~g{T?U#aUr zzgb2G^jq1OZ1fph7}Jfm@djgwagcGSainpA@h-4^Kagm*n~htIJB=?S?D^j^z6ZAN z&y6RH-y452o;Ci)7}H?;&Svx24xroiN;KOs?09wxVUjLn7qiO@Lv^DDnotAdtn~jh z4WM4N1`r$2wN}ew-O;$drT9TJY5f?s6XEWU2OY$VWg;*T(gwZJX5Gy;Rz^^X`RXjh zxSk=U7z)hXrY%zWMqKB#h)d^&Ab;Ioz)^_Us|UAf#ArW0M0gTv6% zpEH-1oa+2zOV(wMZ~A7%Pj~)k@_~`N(vEYS<(ntva^|-AbiVW5OfJflYG!(Yna-vC zz0!GeS^l1!=~Q6+{^@DcR6Bk+_Er4C>CN<9XP4QvmHCA`qFb{!_Rk>*v_W!mfX(rs%Im76tMy*#OxvnvHd_6*m@2K zu_7j>Q#lX_)0AIGgjgGkNWD`27iJXYm*^9tXr`@QRdqUfkSUjd{BTvVc$3zHwq0?R z|30nRQqwyGXLFCIF=yVn+W8be>#0Ysjz#{x7@s{mu$}+sN&n9!49v>T$4ahmvdb|t zYoj>xD@7Ex%J!<;YayFl%JkS-zh360qs&v&JuH~crBpRn@Z)6r*e^@lhYfaySd2Gg$3PNDPbWc98%D6}Qzu4(9?~O`seY?hfN_)*+GAkVpV&(@kJq zs(Qr}N}bsevVkC(?mD3|@Z*Rz=|;c5;lp)QOkRQz>=sxNFlrw{E)c*G!+Hpw8n%)9 z3jI6$Xgg*H!&gWW1KxXIBg979uoP{QnS*U=IzTuY>Yi>z;BI0ns}BJ!eZ!Om3b7Y^ zAGHHRvD+q?NgrHI;q?WKh)dU`MM9B_pqjo2WfT#3wegi{!NOQn@(TWFG(1B6p69V< zuW6Z0b2`IHN|UZ}uuJPzM$84ZE)Ud>uQmJAmM~}5wbq>Z+;!*N zVQb8}^P6PO?4LE~&b?{V;ZHk?Pd8cKW7=eLzv3*@%Q*)yhw(HsOHGzzyYZ22S&>=Y zPK_5u4=+kzXSm6FO!G}8kuSnWs-+s6l!+SL*^;s8R=JCbS|+qh+LZ%&29g+rKaVu4 zO&+_Q-H_v^nfG{?vn_{T+M1P9h3S*Pxnwz>F`ZOXWiswf2ki1|uUz~2E9HIbe9zO{ zAidgx)x>K3uMMG^_}Z(PAZz`@Cb-IWg3c_5>C>6!d%`34+9o%vWnKn1+zV{Qr0UjO z-=0IzP)5ljlUZI9DkJ-6n2w!QIm=wetBk{kM3HODP76}lpnW(RPh9i^Fqe>69_tAvHGJ;q#rOMEry^T#hS3~$w{&Y#8S%#VRR zI>*@Fc$2ZKv6rzA=(|IW6OB`iGmNv1b3xY`ENsR##MEdE1Wvmi)~#GXO#}!!h`*hT zFu@Sfh9IYN*l;Bp>29eQqX|Z2OHu!V290zRl8Q0x zzcCCNV3;+A8cFeUoa}FjH}sUw)Wr}Ub6&C974@rC*6&(|5b9k!-#eVx^p#$+M5(jc zbXUrSBbE$rh;~-Ir znqppJmIt15@Sr2tp6T2&YF;y#Raxf%?VYKQ$$Gk)RY%_`p1tZq*df<1!=kUtU>Ysu zwZP=5_QUIypTgp}|EB_zIvRtZYM9sq+qO%vqvyuld9X406Y%9{lLBn8OS0fUe28tY z9!>iET|-vLEykz8JNTyYU9dv_*Lc+UrSatJwJ+aV?f9tmo;B`qO!UuN({J!!q7U9b zviaK%ao0Dk`^#QA2~X9recQlz;HtgBp6HJ{XQ#cuF@8Oo-GVGj+4txnv}!#+4-)a?z}k#luf#O(j$&zS@7Fvo|T?v zsoW%SnVGkyIIs`TPN%_rP^L3>`J_p$$lJ#%|Ps#sR!$KARI~E8fTPxmY>NcpS>3A==XL-S+K0j&m!w+ zjj231Dq&IcDv@DkJ8#79>C83ZuRY-5SC!Yl41Bd-zxQH~0_u52?q*}NPP>Y%ksM^bsP{>A5|_< zFJTa&G29fm0pMMjjKF;-kVgr%tWWC#Z$wrQ!CuC@5ooN@h&~nA4kMC(xHZw-s!97L zM7kTa(F){*4`K9>Y8~Rb<>91PBL2&oSo%S>1tC4rM5I#ah)BIGT3>4Mij-4S4@}x+ zkgSPT+@%&@gfs<#6*$BE0#yZBdBz@1TkAcG3Fju#RK}c}x~S6gm+eUiwTjzB);BCF zo8a7ZiT4oy)4rW>ZpxUU5Wc)vRlp+f_c<9qI>EV#1q;YZr;1gqzO$w0$(S_9Rgt58 z+HHzSipxQe4Z?7 z#fpC%mPp>HAA9(0n532JbhJHscR?ueL@_|%e%wqVSneWqr}s8*iSjB$-PtE&>Q1Ue zqgzE5#&POSc9ac!yH1FZL*rg{J5R5`hj(79jI)-Ksfz`l)ICF{#d(e+`_q=Q&_gFu zo$7^NqZrnfILk|ABtO~(OwMx@m=d@uJ3FvBD^<_)dq@*Jzt58I- z@mywCdFLr8gTcx`7H)RU|)U<^PybA(xAyt(?wQXcXHj*~I!VJQt{{iT&$Vyr6q(-U9Xeab6kaWS5XxJ%9xhfod$kUTkp5$@I5SzAb+IY~70I?F z1l@M*O=RCMV*9g$*->EKpUmFP&Se*{5Ac1!Vn2W%&X3~9@ss%({33n>zZ2~Auki=? zcZiSv5&jr|lK-ARD@x$KH7&I%eEsO(E=YtZjQ3Y1*Fjda~ZtwL-Pgk&CsL<$o3 zK+Yja<1iLu2sAa�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 literal 0 HcmV?d00001 diff --git a/digitalWorksheets/img/adoptionBehaviorCurve.jpg b/digitalWorksheets/img/adoptionBehaviorCurve.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54adc9bcee8f9dedc9e4051239bdffc57ddc2725 GIT binary patch literal 116593 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 R_RjM=9{4wVVAmi0{|A__ciR8} literal 0 HcmV?d00001 diff --git a/digitalWorksheets/img/back.png b/digitalWorksheets/img/back.png new file mode 100644 index 0000000000000000000000000000000000000000..bf651d165a93e61449c3541fea08edc49391fa45 GIT binary patch literal 13290 zcmdUW2T;?|)~6jCq9Pz7MNkn0B3+t!NKpidNS7uhgcd>xEkIDJh%{+ZqaY$3q<5uD z3y2UQbPO>GErb9e32gM0@B3!=ee-r_XZ9^~2mZI5bIWxrG*p}q@?BK6%?c;gk)|>%K&b% zl7ghPoU*)vvW%k8-+qKyy?Hq}DnHiL{##$HoSLu`9PXhE0QmX&N%_f2!Mq>`e><#nrvS%62 zQRH`59?BYCU|TrM%LoQ@`#Xw{oM3R6w-d}mNW)M;=!U7Yy93P6TkKE!hYyu?+`Zwp z?)G3EO*LT_2PtP~2j#okTGDrwVWe^gd>{^zo2{8N5^qjmV_vS|KO zS^!HJz;DC;Cqw_eh~+)MKmXyjtjs?gAMDQZb}yD&^BtY~$qI>tM|wtD8d_SPzkGQf z7A7Phu(r0=)6;W-hsVyr;azU-+}zyo@UY1B>#_<8UT}DPT%4JS2{I(4qOvma^=m_8 zV=|e%xVShwJ3BTu*4owv_x6^OkWf`tE-os1aQ}Yj^XCoq^*Jb1c2-toRFoqaTvu0z z$K!|4=<+if6f80RocW2K{K47Geh4bfolf56P;i7>_ zg?u;WA(o6zP?+{-8TS*4e6Y|1tCoy`L90{ORJI5CTyFM&7#CjiHZAp)9Oro1&#~nV zo)S%vYsfTfKy{hPKSS+I49UC*(@V6i1e?5P>%y_oovlGSF{DeT?&pvT1qLwr%(H26 zp8L`n@u+v6sLvUnw&B&>pFs?_#mqCgCZFn!`0GkXI2n(C*QiEMvjiSv42OPw?FKO} z3u^ZsWc9L4ulJqIQ&4hyId7-b`4KT~PjtaAcmWz)($5%&{?o)Au( z0)K$25aLG5GctWN#BaWbX0LWn>sUK=;-ctcg#oWdHC`gbzg^^-6Gi%-&~qfa8Cxn} zkBtQ?0%M6{U|W$SDL4x~=bVP>>z%m1_s5PeEkRr!Z&l|&Brb{~GeX2(3&p3{)sHSde*9`6=a~vQX4D3HRvgsP{x%cE z>Qw)$r6UW!i2+nG1_qDAT+kO871aAcq&yuStRr&*@2yv}CDkfR@iU)is{w)RL@~$% zHkA?Q99CUTchpRHef5VP+-b%IjA1KFYZH(p+(n(`DW!2~9=y%~wV%%H;}R|7v_T0!^2V_hOdqk^@0C;1_kaS=BCcB$ zYpZKxS`1gI7*FHZVq?H${qST`rZ8) zQai)TKRB$4oDjFEz#>=5NK27F6rk{9PK23x6FMXq@EViH<{jPNF6lmt$j}vJ`P9*?%DN!t zJJl_-Z>EY;`1ykRoR``~m(}NalqIX;S(-+bR%s%o;UoN<;$vA>>Cvb-Z8hA<1;vZ9 zeVFDcHWu27-h{$Yjmlr%aoQbOLl{tCyJTozT3%%+Kn{@B#R}ibOEwXZm{!I9iop~c z0i{#G24;BSjJXE}SZ;Wch{o>yZRtDCurZZRq_V1%qhdhX%NF9SEoy$x1BSynsdAae79glDE*@pW)e z7%Wft&EF_-djQ6{qq^&AlqDj7XvG!oB2t@^>@ zao!GhGUCxVFa~E+P%M~6Aj)lgcY+9>acaU?4$79Q(9?<-0 zU2!$t=WbIjV(1c_ZE>H^c6H@fbfN+NEgmBm&ELf_h`po_e(+hcEIn;}`teL)lsd?i_VyRkF zC~8Mc)Uf1{2kszuzxB)03tsxjB4XiRCdskyPYB=JKJUYVyJG%I)-iXsZ2{_>1PDz4Foh=Ct(toEBxm zzK39SF+%V+r%6Z|AEM zzV>=N%&N7_jzhKHR=@C3rKnwZz>cZ=orTm`{lZ+u809Lfgj?HFNtQL!CFfbM02(_7 zk+*f}7Ur4$(YZIviIn1YE$gT&}0z@zX{9U0i6T+vM)?rC9>_JH9`7c(RxPQem`9<8-zN6Wqvz^QmE)I zvb*fO1v{H{tGVUSAo@N$I$g~~8TRH}47-#8%j9xs%kD7WEBs7r4RtnY;5Fb;Yg(B0 z7(a;%aOAMLPY`QP5kF@MmA+^ik@v+8A6a#?iZaU6=`2%g>FII$P^=826P@QM1%<$~ zzdW7e;_b#QGcF8NY-ZjIVQ3gQdPOTE7w|Va0{WlIPo6&`Ajp65Pm4hdguVQbkotw4 z$UhbxUF$V}HKX}aFf!HtVpLgX8s*fV3oOq?+k>S_$@K%>cVxNKD3noN zHI7h@(r*0@v)|*kclejnF^YH8pT-9}N=V`H5IJA5ox6)ds#OzQEZP(4y0JOLU$N{{ zh7`jcq2Wp@_tp>Ri!o~78&sq?`DSB-`CumA0prZ)${EvDQ}ZB;H{DU{T9J8F7w$6CX#2!BF>3N}ue?=!qUhRR z3o(ZC;re7@7UQ7Vf&8nZNdnwyuYas(>m2D(;@At6pn@$>klO{V+^ z?9QIp+x(mjdv7s!mo<{rPfIeZigK(XvEzvP&3(axvv-akX5?s#vmOGXJ%RR?+EP5Nr?72lVO!!fchH#D$VE7Z{QKq!tV&hA57Q9 zrEhb*=x^8+`?~dG$$tCxZ#!K|53qD(>%_S+Ez=7SCTxF(HI80OeSZaOuSw*wCE3O} z=cV83-jJ0bhfBL6CXta#K5@{Qp9`W$fh*ohpN6M11k$RghGw8bL+jOpS}erAi=3ZI zd+Ly{j_55t?S}WiOgV%cQICD!EJHD@gOx?}h!h=J&Kp*Hy{@M4@;`PZf8C(`eUI|L znX9^XIxEFE;dWvF#4kG)od6dTeQth8*s5<#Yf@y^OxqVUk+f`BfA!==*CWrfbnu?n zW8BWlk04Qv($mX;;X7}MZ`@Y4SI=4`t=I@E&#l@NZ*kvvc?q7Q`-@gM(!lK|JD?2G zi%a_TY;;t4Fig}spPm-P2wGd{7eH`|hW+9T)F1k+|AjM%Ib#AHgR$%c1z$4)mBu#?y5TS zB`OXFj-nA_Rf{ZEvTy>c5X114<}EXvI501w9zJgboOY0{)#@0v*9C<^84`|+AReHi zwemCw^X=QrcQkzYi?7H~z{osu_1fl7;xTdHVUUS(UHkmgbjZ`Rg5GH*q_i8{r_d+E$por|gs84Pl z2u5s$;97i+0E6L;tmV43?wxNz<=f?bb;o~3#>wx)E}>t>D8{mM^lB!e9X$iQ2ZOw7M-HB7>W^2zRid$f7Pl1Ly zk$o#V*EdFERdhD0Z_5`}U4%<*GMC}T3!PGaP`?jP!mSXoql+&xp57Y^_=5JMRPo0c zsFo{Zxw2;2|>ge-y zRMQjt%7h`0Ui$#~A7c(cL-Oeu%sy!tbkEVSIP+4*PI|Ax4{o?LVYAv)IGovbRSAiF ziz=1t?)#2*6UqKuxBDFW6W^+5etl)G@9-`DtkK)?NLRUQECe`u?^y4dm;sM;NPEtL{3gE{2PkzU!d<2SAHEU_ zeTT~qv>QITxR0TyQ|T5N$S2pu?r;KIeBu7DKYzdYsNmkZ;Ui#4pza@LR$j1@CwP zvz^%!7`k5CCZ~=tM_s)T#OrP5G4mPlSL>7(=H=7Ydd%v0623^*JmEp8me*gl9>|*m zzo6d(eQZzpN>E3YYf*7a1bHPjHBWo|d+zRiD)NlxC`DF=*g>EZwk8F1*i7p`SGQa; zuKocHMH%cvqu)9&ld3Wln#wCb3h^sB&xDVT3U=g-xBD|L(4AcYhvg`;zq)DxTTX6+ zfq^N5SCF-$f#TeUsJqA~qaQeMHs5|7Z`=pJ$;$b{g9sfIMed0Kd0NhZg#`Lzk33yi zy0;-q@a4Qa()c!sBI{|~lr}wfl(iB`!1{IF#3diBKhAFHD<@m8UeNf0GD`J6R}{bb zTW$?xr0lvZ-|6Yju!cmwr&{+Y-m_n*D)~D4KhUv1<8oVfUteJ`&H^^{rWbf<9Ex^%H>Zoa#o)hduEJJTB z`xBh;%M$4{}_skA?Qe=+1j!oCN5f-L^p26wLJ`t!Yinl+soJ^gFQ$^KF zy8?UM$wea&F8Ih9sw}p@_B`hP2C3@kV!bAD6;*%7Vmhn~-9QtoKNY&#sUyMB{^jUp z1o9Z)it|Cj!Tb(2ej=n^a38TCz!WMu959VTd{c@8dWIw!(X{69Q;Z8!77s9>dx$Vj zzjcQrYCuzaq|0rH;4C`Wi75gMud0 zFmggFYISGudj|(u7W*-+mAzv!tyDAq!_=rEaE2*QrX({iOzT_j?|pC8d=#?4T+DQh zqPqq~Zog**`_?L??IMTk#L9aS7^^DYC&Y!J$_t#{>d3a}DOiErXcoS^b2`lN5Ssg( zZ)4)ifv*c1jDeJ*WLh4%y&ywaMFWF8b6$Tv*)C9%W?+KhNV@-vhuTA4c=JC$7 z!gKF-kwt?04bfI2Kv_bp?NRe3APMqudFEsX;wn!zE)uC9)GCDBV@LWbC+{MC%lt16 zm!W+aM$>Y>Bd7{q)Gg%?sO&TDA9%*2w@zS|qdkEcanxN(v%@kH%Y= zn!_$|Pb?lcueW!OF_5fg=xIjRuHzZGC<+Q_ZTU@*PAB|KVh-e)jUy%-(oxaPf!I{V z5%$l6(#+Gw(-!7tx)zUS2Mcz@fD_rti3ApfIbEs#%}g(PiVGlK(LObdHk;Tc*>vW5 zmOr0+fvi=oe~vUOXg`MTKmB^S+FM)Oj73BK=C6|a4*7xS zd%O1j3ZCb`xrg|7Ki~ha_YnUtPy0O{BeiRx_x9Vx*kcaYfB}uT7%5LSZ_4PTo5H@P z>&gYT#>5t2+7(({QkxIZY@V88lOGq_YCE|$+`?8bF#KEWX?Tp;L4+2 z1=EHXU(|?G$oCC3j~c3TZ5C=#2Jh>b9uLUS4ZWShb2xo+s9m1xyL9U?mWI zpl9z^W3GciYc;vCJcUo<@NF~Wa;fv4a!oD#X>G~@b(VpG(@$|@7X9DjBGYRME054? zlKc$?AIh!Eme^2C)MsvL1*#ObP2a8ZsWaV}Hizfh7Ao_xF)r+wcYWQ%xQ(vNnqy5} zfzxA-=pt8b2YCRr#N;%_@VvoPGx7MT$0zYVF=H8h9+TzD)>YB~K2pi5&V_4R(`Beq zkkqA01m&i)#3X{+Q(aYDv@n^?iGc-+f8go@UGwaTF~*##V@Up>5u_&PTb-f;hox;7 zwXA?m0D7*MkpZ6%=|lnNJT~4(_sYbRDxJaeYu3fA)g{~SImPXr;l~OqHf`%|d%1Tz zh3zoRN&|)}Jl$fp+hF#cUkidQv|tYnHfXN>)djCCye3gq^owVqBVvICh6>djy({a02+#&edf`y1Cvbeq*Oc5B{_UfUvtRr0LtzF#RAT^$>Tc|U0}Z^E=p3w$Eg zAZpxe*yB&xtsCn1#JG)8b6=IbCs#Rh6)%Z8Zzo!08?==MmAev7MnVQ#7u?k<<2QoU z4A$y-&zlSyNT^nnVA1+2;8!Y=rZr7kSoB+an%yr5bbs&m)cDz|K=)eM!zTqFcpKS> zXO!n4`PNfJ6GSY}YHLb0f|eovS@K;;(~Jie1W5M(wiXvDS@&ekVwtb9zNzL(x{YPDLSMZN?pM3l7MC}hwq(`#Cg$*DZJc;s-W=O>Q4#j|=fOXLpQ)I8@k z7odiYio)4G7%{qHLZh+#07KnRA>|c>;w2d{gWyW(^0 zHGBv*emSsCC9}7P=QA2PoD9{PQ?QoUS}~HnU=_ zHc#zx36w^@F)8lM)+g`nN$T%kt3(y=8Tb(2552wZtPhe~ex+N?;&=VoLU5goTeC-# z`RHvPI)TGp-f8B}uj3DxQ=p~qR83i|DseS7xU?8ozIo3=Mu|(dyAs2CU#XuB>R3ZwEvWy=2kiNw z^~kL5Kp@~rx^N1r<*0O^r3Ntbm8&J8YRySeWI^v!vF5^u*_)YT$v>1k(f1$6Mclsj zT|YkN{s}N6xoT3||Izk^ZR^g#UVU7_)nB#h&^btLED@?!x#mQtkM|}nKd5gRI)shI zy!P_`h^k$FV{z}(N=@y(fz+RdXWqR+dHGuJly(LAmg;2fs{`|(#Z9H6MZveR2w}Oc zs+!@ks@I=u_THifgC0%_*sz9E{ilkpF?Dy`TaG_T&z1%TE`pjG604r0QeHS4f__j{ zEU4ik7egi&NGj7Sxn`m@Y;-l&VeQ--Hns_!9P>~zBvWy^n*G zG}nbjqmWji{yg8PcS1izUHk^-3{AQuL{;gFw*)qhm(` z1xdGFS|lB`r&+AsKz=Z`uPPU<)DtUR_EfE*KJ3>?oz>+MV+!4?<{#JGc{Z&r)f;{uWcb%AbFUv?i53YQ)empKZhrfY4 zt?T;6G+@4tZYK_;e37>!`7EFQys6n<_uB@o%cZ+(Lh#INAtmCTTsq%ih z)jaX%$-cewJ0E2^lHj^r^4@tFNO!}^QgN}>LbFm{YwDSqRY;ud>f2|i#qjKFKzf8! zYYwUm6a8uTnAu)9V|c5P@FC|%84uA$Z({0x@0J5oqdZBluTk+fA+^4>UisF>=&E(O zfYffT7FO3RY7k7ScI2Zy(D;nb;fZM`X%*q|TaI^3sJ@CXRMH-0&y*PH#;KN>rWKO)9Rvmy68&`=$cig#q3V%FnWEnQKf7N_T<6cK() z>X{v}s|3VZ_aoaA$@GS{lEBHNy(DAKf_S4wItE75sypJFDvwxjEqHae?f6^7OICEt71&SF# zYN5LlfA4*DL;O`LA5r!)oMA_Ue?ZZVx<|MDM@78LKR!`@AZC1k{{|F9|KYlYXs}jeS9qCXJB=q1^d}r>z_70F8ZTldy!hf-!*ljDH|GzXhKPui_lr^ACLLZS(68)fS#i~9oGQ&CPaGl&et7I{nw=aeWaDOHF9G6U~vebt=ZDL z)jCAnnpR1#L4fvJ7z8|qn6yuqw>a3!Xbz&8?9g!34gCJg*|wGo`^`c0H9XFB>@`yI z%x(`=H{deL8ekI=)B}1`fJ(C|E4Ptq^JO+Of|+fshfDib`!{UFLL?m|Md%n(9ciDr zYaYBo#U-&WNkjG+n*>aLlS&Z=143C#wQ&VM!z@IkVLl;fUNqcjd_NB(JYd&cA;Fzs zjYU8H3;^#S0XBum!H{O|l}ClHnMbwY8wMWNA#QU%(A;811pZ94U?X zsBJ-X;2U}$dhgBj-b!nm1&}Sm1vY72OCCd(SjyZkBFP zFqkCTr*(?pCgsUbd_frskfx}Eu$u(?6q4tWKf-()f}+8B*x zJG+>j^rn60UI2}_Aet45YSTiROn(8CQ$vpK2dhAVHb@Nr7HOqDm*n;8CF&LgxPLRG zx%C3g`~#@9b??W~jkXWZf>!9`gCxwqB!`ea58mLGcoBo4TdE}u1gJD4cz-H?5e|lE-uSd&& z*YaPBq<@oVZ0kvezn^*iAKs$;PjnSHA|t4UPFrGV??n1ZwKp1vZ)3G6G3&R;oJ;K+ zB@4O7$A~@H2l06NLJvJ^p`c3nOjvZO(`OW6vxE2)*6Q*% e4aE*q@wg3d zW5p>cSUJ&8&A81b*;0N@m2aG1(KIaEa=O-c<)iT&mwJ4Wk*Hf=60wxm z#f&BQ07LC%`*Z1NNW@7}Ocg#3RTr;SA94q)z1U?>{gNrN8-TRQU`=waPJeo$suIw&&(+K0XwTL#w z!S1atK**02hNIsRMN%o82Ye+{c9>Fy3?YvfLwTQwf}84s$;9km@xtpA8#2Wa^HO!1 zt8%lMJv9ym@c~jkknpq#jS+l{WK*Not8A{&Y_$t*DbP6$viHd4S)OiS%9Wt)M~pV) z>;{2c;+~w@y+Ke23A8AO!6@|L7?U-e8_A1??dtlpiyiG6Mi*6d0ZBb}iX7nCU~}a9 z0=e|YqlUpK@SevOJTL^s!|p`7b#tUIL|~{$*p#`GnY(RqLCL0-3pjPhD6>R`#sM~P zkLj-3^0xBb?H6g1%=o$C@ls?a8&h-xgzH8TOQ)yCL<<}OLyMrRv)+4V%yU3n)=)0C zTZ&D%A-ufcHY_e#eB9DnPM%&HVsT__kz&l7Y6>QqM9yf994T9aQHt;WqGF+YMsiW{ zT6(itrGl$Nl;R$&*N;F0CCs-fC+v8B7m30k6k-&ci~0@dk5rm0XHaT6F-!^U4!){5 zvj>~mhrXM|D0RCA6C4M#ZC9@2Rbl)~L+Ij#+vEM%g&wpiEm-;i({dSMp4@V~uh@kX zEZQc4?wY{T%9s*;uTAfnoCdG;B{C)kXV3+7AM#%2LR*~=(f~f(U$tpe_rtU+vixLP zF?7aQ#hfRQZs|665cuvZhh*kc$!??bKnl7)_>eP7uqad>2v{Uky4ef%NtWD<7LRuy zI%zmg${p#8aVKpQ79H$!c{k}~fexA#pzfBT!D)eWc;+I7hMkBVM&m597sPa}b_3ez z%NvY$L{Stz-c%TU?wvwZe+$#*`ig!z5%=9h425iVRj{v=Xuxlpx>+H+8VDdJ$u~9s; zH+X-G0v#EK1rFnEP(!OT0^=)5Puh&2L4NR^6Gdb^ZG55@h4(>`=Jn?Aqtm05!NH?b+ylySF=LFJ_6e z*5B!^PSi)`FRx4)0zv|P>iDCL`HJ@@wle!AMz=Tu0sZ@FGDfYbYOLEOE%X+_offpU zwVqJNQI)z~QWlnjMli9dC{traY6A(9-d0MC&-6-e4MMm!)wyrO)`rTZHg-9{5k{?K z@1~F#ln}W}ZJ*}hTRDUon_JJlY+$W6lO~%0*7c>_AkNMNOX1H2B2!mJ8?&10#Ul%~ z+Ex|NnT+9av{lWcVqn%jqq*eMBa(|f_E`BOrP0#9!u8-9tY2)9xKFBEfW^Z|3;sF9 z#J42;!}DUn`tfEw%&?>~}`di+6k7hl<8S zRLU(syeyk3`ov>#Q(rrU6nxvl#>&#T3n1!{$vBG)?L-glzKim*9kkE?YM26S{90EG z&0svjqP;fe3pa~aAk>k*8ajAFT+OYn*0PSF3UrNF@L&%628;$UzZQ(=^fyE!x(jlu zZYbJt=UrY;l@$T|cvNQFIM?`OQ#A%{Q)TahAP*DMR%j`;DEdPTwq%?m<&KH>RpUA; zxy*RorGulN{tfN;t?=o*IG!#DdtYo%3ZU-UM36X>Z^m69 z!7@|Wo8Ie_O0lTzwFz#U>Z&2BjILu?pnFVn84uTslis6%sNLQ^_Hq~zbqr^{jZwWA ziaJ0!`d<#7S&NXrrvK|pnE%D{X6_=x=GnmmdtdT*5w+SazyJG2M@wI`?C#Uh{{bg0 B`)L3G literal 0 HcmV?d00001 diff --git a/digitalWorksheets/img/close.png b/digitalWorksheets/img/close.png new file mode 100644 index 0000000000000000000000000000000000000000..20baa1db5fdf9e22655a0f851c4401d36b9e7ef9 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i3?z4Pv7`ejn*g5>*Z=?j1DSvS{%vY%YG`Nx zvLV3R+Z)1I1qQoz?eg;S^6>Bg3hv&$d*{xbK#iaC4$A=f!X-g|!3vbDHnnh5Xg#OL;K8su!;fw4MC7hH<+BPou~5EnOggc)I$z JtaD0e0ssdsYEA$E literal 0 HcmV?d00001 diff --git a/digitalWorksheets/img/folded.png b/digitalWorksheets/img/folded.png new file mode 100644 index 0000000000000000000000000000000000000000..636ccf3e40e88f141d18aabd9658bf3f6b63adfe GIT binary patch literal 165154 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%0DjpolStw*EM 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 z≪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%0AlKgn8jQ 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 literal 0 HcmV?d00001 diff --git a/digitalWorksheets/img/loading.gif b/digitalWorksheets/img/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..5087c2a644223a95984baefdb74f39a287fdfd9a GIT binary patch literal 8476 zcmai(X;@SD*7mdaPWF^(CxkH}*_lX!K*CT(AL|K8(1566s6|hY4TvpP+s4^C)C7Wr zL1l;vYGn`*XPj}MhDk+1K~T|Jjbp7%Dcb>C}3 z!uZ(H86=IQy^NqeeE9IjjT=2ZJ*Q5cI(qcz{{8z8A3l8I#EH(%&c43B!NI}S*490H z_8dEQtgEZ5uCA`WzP_fW=FXivj~+dG`t<382M?YEiL{1{S6HbmoHzguC6|R{`|#@7q4Eu+TPy&`t|F_ zj~{!z-l3tP#>U2b_wH@lw5hVPa?6%2zyJO_?f>_Y{?42npO$Kjv&2V5=pcalzVx4T z453BP!ruJ$&EM3+zw0;J%yf*i*^*_PJLVsSSr1?0*w*y98GnCRe89U~uLuhBbEOTg z@7p~=dTHjkb%XNNFKtcNbOB#1n}fmhJOs}vi~u;Om;-`x4NmfXeFT01{{Df1a{y@m zlEopxMG<7MR-q;KGd|pD09Y$mvJX%BfFV+!oPxleu&Ql}n2sQ`u&&7xXkZ;jg>BIJ zgb6l(RsC7S9V;mZ)tDULP;q0ke-VywLqfLm+Hl6gMGc3O&1W5!{B{}_s}4_z%qtwh z?fW3?p--)>!vzj|uj@z101i2tbj5bOpU+q11w6DSNfYR&QI@&OW$*b&p893>gW~D3 zci+9Y)t+v7zyc9$y7gF7ZBGy*v{!E!Rojt2krp$}8Z_BxQ9Wn~39BLX%z$a9zDQ9@ z?Kz20jwGW#^goG4|C?waMU)2r?x}o3)U;)iqRlH3bv(4pTl%i}{M-(DDIY5Gr_T@n zcqX>b()UHFdDc%UuaY;$YDdi$T`U{GMN;V(pAihE7{kO6JcERV!dxdT|6~SQzC|dm zoZ%>E30dmu8KJCQb(Y3tKy=^$vM)u=IK~huk0djXGY)@kLg3)DRUJmSr)Tzg1N{Qr z(ictdhv`@PkbXMS+XvCv2m)S>7JrAx&>!SKA`paM1%8yhQvJaB1rF2qt{Fs@Gt4`%rI{Km*tiL*;Hc^7EmR+{xT*l@8#)?&5{9eQ|S=eyB^Wxcg|$$n!C z=)j*CY5#>$Z>KQUm_(suzV&B(}E_kh{2d7 z;?&pU!F!Hi2kOxyd-fko1>oQ|#{5&M7<}%W@=Pjv9zK1+1kvd*T{Vz`T%{v*H;f1y z`7ZOWfr2QrKcdN=$e=rqm@gq_^D_?gFTd9*qhut=1@1U34zIU^XgltRg2vR3k3 zOX){DN=}+oh)E2$9|g~x0q6q*p?zoM>;dG%!IPYCzrA{EFHdqu>rpG4D{pQf#oVR-UXLn2fqq~)Ut0$`mG%O2QyD;>Z zFuZupVxMJSNNaL)#;}*-3{HOO{be62P-hHUva2>^%(pYXlyV)SnQ0mXPFOxi$og`g zoy+5C<*AZ<7tEMMM^$n;hbhuJ9A#RkfrMasB`i~B$%9MEc%sDykiPE}xWtGO&1KMg z2*U10*0&kK(z3`%Nwi8PJBO%yQ&3(=6l2%*>yY?Xs!(f^L(iV={NcS6kO?uFk6yNk znQ3AAp>9ba7v(Rj{+QT;a5*B=Y%>Ee0bodqo6nQG*Q8pkNhMbQvr;9+HTllv zAFZz>;P%y}A1L%4jSFALEyU9=d~^cK8!78th|ed=-Ve*&|MKe@HF4IY;D8IO7dqOX zuD+=t7@0G1gzid!r>*#Om6jm5Qi?HzunQ6pF({X-P{t}pS-I0lh9WYglFn4ll*6Um zW*)<01o!OQr(S3jE1IdNffhkMknCW4%jsi0CwQR;yOfNc?cyOc5)DO}Ox2B)U~iX1 zgFb&Q`5{^E4G9seQL&gqA1rT^8d!mmFlzI9ow)*Nn~0387TZ^YQ5Oo#s%SC*zs#H!b?tK+bj6+&y?;(Z;(yN~;yhQvoIf$yOr}2UN;I6fRz?P)Ku( zB*(pe1G+t44okIlb&O;qhN5maHqR(NNN_u$#uHt8Jtnn+=-_H|F!7Zu%IFZYU}djTazrK;|<-oZ+fpg=U|(23?^9YS4pF( z8U6uIP7Q4!kD6uf2nsT#xPf)2Jwt*yt64#ZrvJLLW^Ve9tc#zliCY|AdSFiOTU`i! zi!z%3rLE)`@(s=)Ta3{8_>$#egrHwzE}1Jv|8Cs=cdLzX3=#LzS!MZS zmmPZ=HBty$GbCaZUA*L@<#R==>4cy4Q0W;+1T> zP%701CmS`O3IsXgviSziszVAb)5yoLlPBl38nFXf#pzu9{545$yjVLhAPdzg?f-()A*(`ctn`BWJm4HN$;WpYi6^}@tu7WFE+hN z|H1%oWq)+ml~LPj*-p(g?+&md#~)3zUe<4zQ@VRr&(_O37vtX?NjcKy%YUl^y0=6F z{~$^gsB`_~qE?44VCncbM2SYYHg|D?Zs~hf-wWLO#=Vn1-S)#1!I-V~r6`|#>Z*I* z^eX5ELqx|HEaGs)OF|Q-vDsfTN*xSkYB&ah`QidGCf6u24g!~nSVD#~zP18XalnjJ zCE^eXkHg6e<#Mc5y?cR9#n^FN7;5yzH8r&@od)a}#a+0YFS&{1{R0N^;58|v^9d)P z0C(;h*i!9Ft%SxO9;Q8um%lQX#6|-8yj9(Rm z6MbyJKS^g^c|e$zHd+C675itN%bNB?>GTbZ+MPbn(Xii$%H=1|CdA}k1bAiRz120d zQ@6#8Qm@hL+X=QME<{&4;KUHqrb{b$juG!qAD16nA#MM`aVV8ITM@_lj7K;8HNpOm z#@ATH9s0WITgG=b#=waRUQesnql_V{W~Y_$W5-_2+pwGrK=A_Twr2p;(cIzBg|Kmh+aQ{ChOaw(~8)<;TLua5VdyR@}WznV2dJ;P%* zd6<0Fs1+X^%ehxVSCAzYJ8BwMuZzf2*gXp#l%#A9oPU}as#ZG*Qw+Lhe|2^rII+lP z8}{l4Hu4(BG>1BkR}dcQnO^8IIS+>Hp0S8%eS8h|?&Xx+zS2S4YoPbO!^`B{3|Jt^ z8s0n#C?)@U?|M7LC}XwIk(lEH-nOBMos9#^+7`_W2OU|#P`!K_5E7N z$@j?)qaOk#@u7R}FGD_O)1k~%A3mR=wQRO(E;_@8(CLUKML^+k72&uvbkr0f^4v4jUSPK6>a&Cad;(~KcgwE33 z>M^=f=$0EE;I5m88(lBdO2=73YbYs}(e4-d3#a-`8!GE40;389WNUecWAYZmczr-3 z*oIX{u*TY(+@@XYQL%abaP)S2ed>p{@&eM}+`)y)^_r?}z)>1clM7n|j{?(iHcjQ@-~`zz`BD$?y||`S>j10}@R-xDs9EK%mJ} zC|VKuh5YL3@CjhK9ce_ICjUK~1qD7C63%vndYE|zirI)wetz?fn5>a91)P&DEgt_4 zlkzBhj_wS)9(3W-6zm*)2h{}`Z``yn@4&&q*6$vC-+w2V!2o}{g#7$7bGT#dixIuF zYLP&M+sxUzZdaaYq%J#P79E0xiWH}eoH?E&tRjb+TlHocY;X<|nVtlxe8x#MGWym; zNNYaJ+8=@jC(?xDhlLT0_BGke-F zQDtH7N*Nt80dsrrnd#M2ii_UaaRe+(k?ns;5*QJ%xHVlJruVIE!$qH=q2dos6s$!{ zW=&0;YyUiy$;3@TL9RstAD?B*ajXPoLiLl46@i6*3jlCiJ@qE@8!H!>4SL#R!tvO``9#Zh0)=0C+YjbuKo#ODDn;niL%f$wlyV+Z9C$uw) zcMouZf{hwuRH3pwDa?V z>q6OynV!j?gtQf|w0S={35FQvW|P%dw!BpY4J{0&SO)!R9o&}enxxPsKQ#?xS6Ob~ zPss{aRs@ zoMr@(RZ&Z#Om+sr&Rau!+2a0Wkm5>*u34~eVLJQv6eS(L4?i?2A3y)mfIWZwLL+7b z|APDz!O^hloEaDgVpdl#u|o#uxwg@R`cfb_=b=ScZ7$6P7m7zZz0E*eGY_88C^}YS zG^r7Isky|{4sr-{;|iY4IbqyXkqq@6_5yTNyYOqTE@wk=P5icTWX-|$2~+V*{rXKm zb>?ie&gj-fx*z8HBYU3?_u4b*KEhbhYvYKwORS0(hEPb~W-aAIbzNBz0sgbVMpjkt z$Gq9orYcAx?A%u~c9xHLxb3yM+1Mk1{8lAyOJVLADf`E6d^dw~J9Z#@{D`!P%d_N| z8U)GgY+nE`Tq9mvl1&y-TNR2`Zu)8~issZN9NEDqp+OttQTBiHB@jU9^-;D>G=JTm)+$DZq0rONEqwOVP7bg`dcDNojM znvJikbm^npayO4kIB7k$UysG8qmt0W1<~JK*dSzutw=FEwA7B0mh^rm{xfZ1h{nvctKZnvrLE(nY%`MiG{BQtQD*4N&2tJWGG5IprWZzt+90N6_ zQ}~(<8$oi@WRgOx;$XFtmD?$@HM@)?xDO4jJZMyln^5%$qa1BUIc)|F%Islw(Qqa- z0QKURWmmeCi0tM!Z6IIv+s$!H1wgNoo$poenkiFz`y+R#CSxeeArtfad3^I z3YXn_u>d5n#rlveQ*j_qW(#oC(*X`4AK8m|jKu+gseb7tpEw~pJW}VS@oNEwaa@Tx z@U~-00;>P;B)UJYA*lpTj7j!bGp1B=$+5(kL)pnN-8KdzWy&-@VMdkH-4IxoE{GwY zt#=OANMl*O$G2YrHgU~%k=@|8;ce$rD;G$Wsrb*%rv_En>6lH$^SWYW(Hof!3E|`F z{oX%3?9BXNH#X{)$SPkxakn8PO}xFcu0&*FSs z$uAo33%HaRUOpZu!K%VHoA~l75R}xKlubV+3@%)zPf3X;i;e`E*S5#-cofM%(v^|D33KBksBr7*mf5uP*cD^S_+1Oh@fm zzIpLsE)tM9*O&^Za+a*$AgNR;w;1^vs+8rm2L5(Tt=>rs-wPhzFFC9_ZdAeIJPn7^ z;=|gINFFN>6kk9waYzX7GPYQPUcau9T)xFv%waM^Ls62(9=L_h!l*z7G~lesX!N7{tMFj8;5?O=TGszc*SJBkRH*b)#~ zI}L(#Y$Drc)q7-ev%#)!%W_R%3j=IkOSL{}ZE$K>vc?kIuZ>G7~qnH6#+*GKi;S}bd&~FUT zW9jY581x(Sr(QPZaX91nT0?-kRl&%CWWTV}y{$J(1X9-5=H?6t;DSk*P3N^IxPBie z3f!MD(?tXanrpMFLmV)BGRM+uipw9hF?iJ3y0q$so-IgP<3heQu6J#@dQnq?-2(uA z_38i*5Zbq6Broh8NY)C1uzFg&PPXeWKM?iC&cYPSe+LBASs*NE-J3d1imIA42~J$E zeCN{amjyjDvexEUmv>jZzcHp&5S@4Wo^&{;HGO31iY!8M>4`u@%v?iDsW&5>UurhDaOIdSc57FB{akHgMa@=;5q)sw^U4Toc+ za&nEOjQK%2z1M#6Z%{bW*z`K10EB+E`8{kZ|85E|F1S03PXmzpq|L9!l3*i^cux>^ zcA9-&1-UNk}NlJ?8*{oz<g$3EnfLV6A71Ck3nJ6DNw>&ZFH6H`ejHnRMjllnjGh}57^wYXx$4XK+@cZ0 zvSqUiqDJ_yU%!q^lot30Z1wZgE+Yt6SwKX!K)_I}RWQq<1Yw5{BZ_0%-~&FiQ#2pd zajjHd;KTRTb^A!Py;>o?fKT$nulYnl(oUgp$|rnW0+3e?xKQd9iZ-W^)N$;U#5X?F z%VLQb4Ye!GCDslXU#Snkte$UAfk>hnv)^&j0J@L6#Ab?fuz$l{F(kOHg@=jAA+M+Q zO?0TxBzrR)9GFGK+VmZEJ-{S(XML}?8AczB=XWe#awlcNiQu@q8_ zyop*xApx#Q2vTg^D0hbh1#Jn^uB-VnFEH?{pg>`bR;qG0><zajkpMwZ*A zP9vzYjUqQ`sx0oDnNjhzgSTB-@AT-eHRcF38^6j>x>CQaV9vhp`PDXocy_P(g8#j8 z*@{I=S55e%hY2{(tRl2UgnaD;L{X`=Z7?yko0wmjgxUt_m)i`|-BRKDo$9^9L)d<` z=+L1ZJK^Ij=c*u65OjzoVy_MAR(FF!7NcLeD)4G|P$0k%^)qCv{Qa+9HH6;mhfhum z2)KK9M0|fR{HiHkAc*jL`lC^d4<4N0nd-)9Ax(qdflw)p4F{1nnxj2*M(*$OS>umGC4x8AN9i(uI@LxT1p%7k3CAz zZ2xz9$UtcS$DIb7+)+0_AuUE061db)NGLjUBYj?fq)4VQ|7=mRjpulmEe* zS)v;WmW+sXg7Hfenbg@Jk3b!Xlps0@1z4B}tx>EMmnTT1+BMowH<`e%wrcIQMj6F8 zc!voV9uyWd8AOMKWk;h~2U)Dfqo-IR5!MpTIMaRdD4lVMQQ5-mXDn#}8B|&ZD_ekD zUYJ=Pl!!i{)4P@i20b!K=f8 zdBn6d!UpU>C+xsRJkS-7#~%ph#U&iTNk2*E;TO?Z1q_f1j)KRCBftd=+M_*;A{yZU z$shxGK`uB+1nIM5AcgkYxR7!Y)=H0(L;#%Dbv4%BUA%!9D_VoK9zCVPRo5 zZdy}QQ-An;zMI%n44!2&PLfeBqLWAl$U`f=zO}Wr8~>k$D$V=-{tvP56%Ya*kj7JtgNhB$;{2o{p0m| zKgHfMCLJesvcM@2Ei5ej95R-bnVp^e+vD+k%qk-o0P@d~bl?RqfbwWG+P1W` zv|%MPHa0ek0q_xJ<`i(V%4n)YY#@oImk+!M%FD{i+Lo7>x2$9^0PZ3)x3IT_rkRJ! zsJd&}O)_UeMQLei=ic7lzLg9{^IfV;lw<@0K#qt;GEQnUKgnDuE-vm^U0q$XlEI-l zmz9-ui_4e?fIJZ)P7d zhM>*nQ5oK5+2#QtTZ9h)KAJ0VXtrVitP3g=V*?<>+Kgo6if|d;X8AM#66eguAp_th z_J+YzAd{Yb>_C$(!e#gXco|%ZL?T}Vo4BWsp z`#KhjS)Ma9Gc&&G_T!W{C$Om$v9Y}5(3pK6d^RvJ@K;>0`uqDk9S%o;zN=J3 z13LBi<8)4xgAeNJ>VDnX*|ECD?DzEae3O)v6wx&8pdt>X86k;dAQu#YYqhntKZ+{R z+1WXSeHXzQcBZHZJ5_?RK@x@Fa!pOm_acd|uC7t+yGqhIAOj>x7hw{-66e5`hK7dQ zB8j%Pwh?6FKq8O6Por1jIl?58nM4>=HZ?Vk2pslXTU&42Y_>}5Euiml2~Fk|g-c|z zOk8ekY#bFybaZt5fPGa=A`>KY30WfMUwk`7vBLWYPr6G2c6s@mJze?CNF zR2*!XZ&7$9?myU9#le;<;-p*c3Gfnl6Tu!ni7*3|Fw-@KcyLa-2$Qe?D}5!IlP{tG6==W)Qo$J_4J6UeScjC8CZYfn zuz=Gb1K5EZJW1r!wRDh3wMrD(BD{nOlEA|xP^_xzi<+ig0k7iwAg(2Zi$Ibcq z`ClU3SzcZaS*_LpY90frYyrp?VG_w82Y5h*)9Jj0-~PSGF=uyo_W)z|3hD|#I*F*V zL=qBmX`k1lUQG0->9#z z??7z{1>Po6gbOxxA}1&3gHR~+hd^Shw6ydS)CNHz$O4J7!mhARkVGM%!laV5P zu$e?K+6k;!U5UfP!=uW|%3jn~gY%q(*??y)L9j_8D=X_ZZgxw05*r&En|{B)2ep?- z!b#&~B?-kq5iZyyk)53#9jCBhoVH3zN;;?$=YWgr1W6bmq7&@$=s2Mh;W)wWM(xYs zJV~T+nZPkXL?_r42==Yn+1Y!7PV6AqQHhtR6VBr@VT1@D?A(}ON5@H5VsmqI+voFj zQYVTj*enw!fMc8plVIcIVZlZx!h&E&Z+4w56Kp$i!8S}p0cLOtWP-q&&e;Z1C(FHnC2RDl9;254NcrHQ0kEEd=B@NjQLa7IQ(en;)c;9XG8J}8O9 zZQN*CK#HO$c?k&#fq{X6FY&XZ<3#rN_m7&Intnw6d*C7{1ZOE@Do|vKm}Bl8&w$Il zy}e_i&NMbQev7&~;05_0gJdWp@?ltfNcod`os|*o- z0Wg^Y;8zso`q0qO-8hdkU*XC6GCls}fYVZ6EAW{inKDh&-WnVn{2|U$^CYsxo|aSO z{Ownq88;}UZ8k-jIoYojI2o0f0X2APo+O#$L@rS+iOB3oe3`5L{rz9#-@Xsnxj#NW zeg`@6QsCu}R-7k*d~gB(;p+DG_RmL0N9V`J#^&+;r#71{KyP@n<%d1~0!Rl=Pzas{ z&(T*8cmm{dAB*LR2xK%Go3p?U@(4R!OXmMbAzwuN8bYJ-NhXr$n&rVr(fJ!hydyMn S-YhKu0000SS6ec(Uv>BC)2F}wH~()P@KIh`P8t9Q2L~{IdjS8I01|+AaB%;n|1I!{ z@c#)C0s=fDG7>WKe;MWdhxaHbs3^$DsOYGuAJEWEq|F{1D1S~{s3N|sMPpT%!lpq}TpoBaWD)G85T(yaFY7SGE z;PZbNz2H}$*XH<0=2Ytbj{2yEUm0lJv_a< zeL{YOhJ{B&MkOZwN(QH-rlsc>6c!bil$Mp(H#9<^P0cN>f4h5nVSW7rgOgL!GqZE^ z3yT|@TiZLkd;1567nfJpH@A2950C%hf&;++FIfKv+5ZC<)*G&OZ+(D({2wm3cb;z< z9t#1Hf(;2XAzOI-u zTJ9sb5>(x2?kPd&XgH%i7qaE!3WY{LWK&KQB4A)Isu0bk+jzYGf#Z1z{8sw7%vv9J z5{UxOFq$P(Ls@8`E%ll00x=@4HN&BgbiNF1ClD!Fzbd*Cq)kls+$%>jlRiY2rmk0xzBGmXF(F5&yCvZZL(y$o@q23XaVCUVpFY1In6TW~Svwn)a4C;v@%Yv# zvy!=}3fh;iSG1ZhBA46??nFOm92}r8%Sg02hRMK92h+cxkCUHOR&+dFgnUdB=l+f0w zu9Zwh?Ntd==_}Z}7Ewn_Pt%jDWlqwt`j+NBwFHjW28Mc|Yt z+zrV;z~hY2X;JB^waCWDR1s>vG`RyAmR6D8cZtwHN&f&8cTio6zb6X5G{$Qz!wp#3 z&HbAZjTxd(X0kgTA}n+BAve`_Die?cVz?q*y|$d@L;dS9+9sS9m8-bOcab0Vo zfoVT-rWtMeZ%qettI@MUrEbM@&6u_%5Y?`de6O>f%{Ab28#SJXZPd>|I_jO`RB8Nu zk+N#>xz5&^LZ++5p2@v<@X~w$U#}Q#$PK#qdO>a+AN)s#tUq@%$_(I3X2qgHj3iCH z_qpOJaNm^UfuhGTvAKIwSEWTQm&}n-d^F^K-!Xr^O4mC)W4acGIdNgtgw9^TDuLR~I_+!xqV?O!dN&Qi`Z1f3NHCgrkk1kH=1+Z>>!H*=;ngg(4nPHP_f z-45vDyeYj!WpD5G9783X<>aVSkm4=kCH^3iTaJA%yd)bdM>TB`kKd`zh$wLutEi>z z2ky(+4Q6YkE+m^RlKyI`#o3xacRTarc!*fb;{8L$z(YV%3}-Ekv7dDJ zgnD_`TAdK3rcL;sv;MxLvTE4qAdwJ&diiArd3m#-jr+uL47yN4drw@pHScU&xoDlt z95a7KIjX=^Xih5HxfiF4t?cY#XL^2t_77kdOO#P6O1@2o&rozXKO)noZ({nps`k)~hyKo~seO#4msJM_| z>)bx5DF*6W`(DklRO3@41SLVRJ^to9U(1ky)n%A@F@~FKPt}%k$0IQD{b`#qfPfbl zeO-^&Q4~ZFkGMjy5+^ETt(=>FNQ!kimO-3QI2=K#)rpf#tm~!@%{tcXv_vMc;;9Pq}yj&^5G=!A(s;7t2(S;aLChh zNIz187fvQFJbBf}VRNIq#2;I~Pd09sAiU1VRq(MEf8TWnr<(yn;VY1aRNw zp$ZVYrUxWbuJ~OVB&P0RQn6#SXNTZa<(}4<7S)7}mX#HrInjYXay;cnp-}Hg1nOpr zEZopr{#mAquLOnXUy$uxfb3%ZI0iChM=8W6ZZ#ei*&vkJp#6vA{pv?Sg1XGO<8>&au_j{JJj^Vivt|;0cga-C7yG;2a`#`^cq$Ycr~A} zgFj%ii*FES)U;h`QAvfZH`o+Qp46|A{{w98RT)cIp+$Y@Hdk8S?r+D;b!^;Qu=&g+ zJ!}1#!z^dPyYGFZvNaC*;`Zqv#=Uvzz~ek9IweTsweYnu&Z3k_vJkJ%@%XREIc`qA z_qR;0jynAmmUn4NUhkk=v8%p;*FR5$_|5DEE^<0URGE1=bq_5UI~KVGM}#StuWBy^ zE~JiDWZ>gOlnwd=XYFA^c4F71o60LIi-V%XoHm41=gN~62K%6Id2`2I^V^$TXnEngBy3H@e(Ty&dVSHzVXjbJ-8 zMVWM2ctj-J?`E;2j<%iGd7$0)OUu;Y67N*~%1vL9C8T6!-8z7l-+dWD&rnIm95Hhu zq$*GKda-S1NV&qESga3wNKXGqB)mOcQzYm5h52>NO%@@N5+0s}qv@t(>E1ojpy{Ko zWHo<;C*13pQXncz@JPg>pGP#1s{#7p`YRnVIDZ^>xP19kf9 zUg?Ze6EZ>euZzdED>{bKuL^2J^kQqoU=EI;w~ z0z{NpVAnOR;G6;z((-qftcFhQs^y$MF2vE8Jz3?&Vxro25!&WC-BGsIN@&?@QcX~Z z6#i^(jLtB;c1lZ{`#hfu<&$#hmgxWmc3iycjBvr%Qy^wJ4RA6O`4rmbZk%8d1+Y} ztPo1~(De@>x$?N%swh0UBsmSDz4bT;SR`0531Pw?N!QQnM$0iu*>+~KYGz5Vsb0Ri z7nFHI!)%kmmHiIfA41>pp2Cyz2$i9V@QeAzK{%->rwJJU4q?N<$!X_Pc_hoIr5(KBkj5eN3Td9GO?ax&M7<73m!N&)FVN zm#UG!-W=4TXy|nVV;kvBh((3Kc@D`*G%Giyg@1s)aGa8EJKTPH-{NDwr;U1<-^jR7 zFfa^}eZ{7PK((Hanu?^HhSA=JpzYAC3&*40F=`WgkGQJw`#-?GW^wDY6Cp5Ydkh#W zN6Gi-`1-4_E^PG(6J$*V%KZB!I;R8)e5CwSu`yP=y7CKV0zq5*{MbRvAb)@+bFuDt zOUWV3TJIA>M3+JR@Rm*AT}$7N<|$VyvK))9$=K=M>W^1?o!vK=QCP$I;NIh(tG407LC?$fqh_(L0jUn)b0?WSxhbq=xA`ZQmrx} z3HPsmi69b~D&!!T-UKq;IC-gH*%wpHnr81l_#IZhDg#0|pl@=IlDOg!*9kB7sKK$m z7As$_e@uQ#){L?tILGh*5q=F%Pyzhxelk-}lp$u@$IPH$a;IE}j4OUSHWq}(Xf4fm zrK8JDdqGhC@!?z+D?go!)+MzDbL9ThqpDpMvagV$z)yU*;H5n3b&f?GQI11I_Q}No zeZBg5N5NXr?EniIt~k(UM~)_Aq#iHAu9&Et>&ClRaL>F;|$JKy`$`nSvEvJ zu8jC_CrfFQfLNBi(M_zI5OpgP1Y?+K)%$>*V-^iv8P4|VNB+Z=y2{jX6(xUXPj)K1 zoU}f?=dGIgP)G`T$Be~6~XwGX%JSJLFQy)2eL%f5uW4yi(o1<9muaS;dUgc znLT>Al=*#p8~(w)e9_}z)hbaz_9Hirf}@$H(P?nwO9ho_EYZ7g^fjI z*K7`rUp|S;*%jCS0PHolQw@k=21k7T@vzZKpJZb9Qjx}LCKC?%lw!m{=0ay@q9#Y) z3f7~)L*E)@b+tEbK5My>YNlqtCwV_6pQwzXZ`&H0+_Bx{VC7CU>`7dcj!#Q?a_nOj z)q%HddrMYq%WeSe=R7#I=wk9m;>h&zw@F%AIs6n+b^RdND{=X-%*~b!M>>O)VVih} z4~!w|cKX$iCIu``&&C2ZhH4ckp{-3W~`dN`_pivo*(^NX9FNkWqLy(C<^sY z7jPoIf)n6lfMN5P@C;IjqdWbEFKCaZ;w+E_utadZ%wL}!K3TqKxVftZNej6AyRnP~TiBq)_clr@*|cp@tF#~B6UZMJ z{v2tt!ldPinN{9fNaewYjFWZ8>>;5go46_3oQ>Dz@pq6=c|2N^&vB8)yiwX)ZV3`{ z3LpIG;<_BZMN}yx~77476k9e;d^Iq-e z?+qGr#w9^E?t?Q4VmGKg+U*EXfvDI|(kXkTnQ4OW!;$Km{`)K-h4XB--Nz&6Q~irB zVoVq`zrHC(%Q5|M-{sZx&nnC{(Ke%=hB0l#k%_sdzUR0Sltc5quk1_tOZuIfW#Zz( zb__h73o(6PZLbsL8fBNt!U}#p{*q@X)0saLUe(%D*=a8{Nx4Z&|GA3lOk|}`KKTm| zt}lW3;-wb|gtO5Ns4M@$B&6h>k4~fpg&%A3z>r0~LhS7GbAOzZb1z(5#m8{4ARu7t zgJ529d3L`NW*jRyGBKsg7%YU=FS*VkcVJY-GidoMsm)H>K-}3EXj8~A(9)zyLt_8v z?%Ojn6N{lee)%>2kkS6PQ(iz~&xjD-h?^2rQW(g5LtT27#wu5<WkD8X$xgIpn8JT>!5$LTz{45 zixqeYIM4S`J-v0l(o6F@#G?+kFVwN8Scab-_)3}BB9bvZanQ7=Pm`#~LfK6<2pzi` zQ4uDG%;dT?L8f;v=N&%|>mkHuk|uNgxLlRoPnRx&0QeFHgC6cG{AL>{bRXX{XV-C7 z{k&h%cGP?l^m-frnlliu)T))R5O%hm?QlD?0D31sF}sqHx|0D%{2`tCwYYDaMU5RP znzF;XI8!O=F~cQPxlge4R;}7bCuv}FM9(mF{Wu}q!4-PR)dBF+ak)xIT$s`^l0XEx zXP+J<1MH|JsBNDHNInsz^Z*N9SEwQ&o8_@8f ztZQU3@z1vlajluxz;o%Hi2$Q>bVhUnNlgg4dJkJ0M&*m#Eiyq_bvu#OcG{oDXDRlR zQMCEae*m{=4Ut7HJVSj2r*b}%*LpQ2<#EvCG$zf-a7GNQgcJirl4k6ELp?d?8{P(q zPnP;)}Lgf}D<9F_QuYO7@2QTa7 z?yisM0QI81KG1)yD3x-5nwh=9{&>RZ99#Y;qC6_evxOZbKSBbG%(LNVl){CatPK0U zqXYNw|CvTSQS%BrdSWK90Z)yEEt)#;VHwRK1dTx%QyQDW$Df?42XOLy9R9{#R9V-2 zri=W1(lNaDcM`9YYHsgHUS;;o=x7|24K|wFlwPI8S55YPPtgo;#MYJw$zGFJq*eQ| zTrK#fA12T)h~*`cjOb_TpT+os6S}e>Re`Sy&TmWI$KFOtvM7(KD2#7>9%u9-?xygU{l#tn07mh@jpkNWS|GKx)ZJzJ!_@GO zM~XWlXnrl_2|6P^8rz2D@Vz`ZPse`qWu|RYl{{9o15Qo@cbpyFpqBEb@D;Azt<8PGHTyO z#maY(l+al$Q%sP{OtMwSc!lNMzBhkc^`b%8c!0e<+}|$|I?yL_IxC%ACTC}CqL6^2 zkD$09dF$Dp@(Ebxy1FC4tB8lo$v8;ipm9* z(Go#nWPv!x6XY9NHUH#pit43Ip5c;;p09Ss&@ahB6l+sBCDnILO<%{I*jX?gGsovNPz?x~AwSaX^Xcqq zTGC?Y{FI~j?!^e6%ecJG8jqYO4qU1?6__&mxwxQhuEfK2qd(lqna1MssHz0iXG+@Z zEz+HNH&VQ5&pY!BH>{VWr8a;a)0=h?C**!vd5IjMLVZkpWk{)WkH=%K_Lbm^A78%J zEh{M#HS=!PAD3if|9x+vqND_m3bFC9zil%~ZW)Nl$$V0oT0v#j`C>g_g+rICtC!j* za;O!%d}_;7b;ovDY`uSZ~&I*jKueipCe-Zc=;YLsD z*iIJfL6%Xnt6`fPTNtI~o$);F67V$yO5PRtu**$E5!=|WsT`&!AKT3496=9Sq)CmJ zSm-^~$ae`TWLZXy&FPD9#04&ie76i*r${od$haYH|jRFpx!?qB-P znAHiX2B)Xrj%;H0xRRMzbJ2gY>%Dzpd*k>A+~FK~lLvb&-uAO~vw$_MrW0W~4ErpW zBiiYgi)&vl`NYUK&hE_q0Z0xsZisN(l0R>02Ls~94V}Bm!Y@zM5AHm$3r?PR((!8+ zP!L{!Err>!m$KlAO;_T5XwLZt<^*r~&e*grFS7@C|4GFJK#T|>^%)8lTA**5RwtZ-?X>6pjrqC7?2mY0&5H$J!a(+YIs zK1BaC%M7nM8x*x?m#uKfgZlHVpRCAEV&jE-m32~2yvMJzV>l+~u8Hib*L*YS_0RBx z+(4kwwir(&WC+>H?t^;5;7dzGY`gj7%6-_)44!6_X%D_?g|W21w{DbO3>9|YEs7Yj zhatgI&aKN97jTEOxgc83&T@~YrKzct3WaE7yv^bTNa&Y#yZ3#Iav%6GJ`2C|BK2p`Uv%t#8u%C*4e#F(7KfI{ z2S>$(S-MCktG_mP9aGpm&h2D1X}XLNI2Eh>#}JZSb|g#^wXzx7I6#dY=37S4M7)*l z696$Z`m}6VpBFVSRsYj@Z8EQY`gP&G!cW;v1}|$9ENDQCR2LZq?!PuNEVDQ;+nzk+X5g{*%1pw1U$p6Tn zi>N6k@yl175M%6Gmx6JU;Cus}lj^Qm4oEFK9w)*-z#4*P$->7u4-WZOw|M9agZonp zdtxAfx2oS%QG8%C(O(!al2E^szYMz5Te_$`GLYMDB~1U%Efz4ev@pzvFl2!S>tv$_5l#Jy5CS*1YKaOoFG|udXqJnqX6g0=|eZoATeq4 zZVq$&uT$a6Lph7(dRx`j?QQuUvx7|cqVS$mN^=KU*=h{w8}$2gkj5#5@AwooygWqb=`Ww0r13*JBt^76P|HCCBw4kS1BNjU!R;Z=3d$`DZz{ z0~ZsoI!P71l_kWTV2T*oGZ;odGD*iX>v95K8OzpC7?H=tl1mhG{#5}b(UNhdU*3S= zD`)@7=~leyghHa$uujr>C#OxVE%0|oCh~ix5&IQGE-B{hZF9{xGRSPN8Q9XXs`X>< z_iLgc;+Y>)i-&zYq0?n(nqWM}`>kvSdS=dJhKS&9vXQ+3fLTsH#_#E~d8WsB`6ghe zrB)O-f%SIe_s1<{2s?+s2wDPx4xWlRn{2fB^*Y?#kz(SbY;=O0P=jP8x1fx9_>v9b z3w?sl62mu`jb`Kna(rCd1x$uZa;uGty|@jG!0PS`^y&7+wFf zB91B{QX|{~CM}+6d|lNcpcINl6$Ol1Z!tdLkS;j7GA(Skn@>9_icH14aeePMBfR2W z_EXgdmuncpx7NVv;c?qD)XI&-NrwxX&Q2dz4|uQ!fp-1{c)Pm?!dooP-I;aN z*SI-$#mme+vH7ggaLdMleep_+R^6?Hb`(Mb9qnDb(Vc}bUtA_>wpfnI%$?l4cOm<_ zqcOK_&5o7iaYKxh{*}1VpI{jLv35jq7q~MqJ@wumbC!OvU9&&l2Q8qGK6@>*K*W=s z_QV0t3ejlpN-Rzx8D)v6U5azX**rHw(+(MArZEP3*X7_95mXB5somNVr1YKU{>Byv zV;afslc2i&+KwL2z;_?3OrNbPMY6Et6SG9#nj4xpVsE?*pv1!-ZV6fUQ6z;C7n~F! zFi90IWr?s?drFW34_ta;QIZDlXaznflvta3P;@SkLF-l7po~kqmPv25)^-4BF z%zxjw7b{2XZ^wTN!*8Q^Hl+WV!>(nqm!nUntb26xp)iJ^8xMTR+x_F~PVT6*TxVw` zI)|cEGn12>*Ra)2Kf6_S^Vn5B`{Ac>aY*K(e`Q+{-hO$DRpJ?_&mJIT>$)|DbQUtd~c*0CdYPXT>G_OBw5IGYKnnqC#68ng!0cmE9RC$n)~Ny z@Cd=|Ds7}A&1IF_UBs44yHu**GFe77L*eD(A->w^_);Gg-!Q1iljUG@lFb8c>~uE*M7YvkRWm^k zKt6*A(i0$A&+Q!*+u~o;e}D$+)V&rVJ1yn&m)M+7_WnQ>S@kBxhY$YFw!Vx+I-d0; zax4s*D zk5U?F7>YJg#d{Q|Uy#wiNJ8v^$>u3HFC2Pr-pwRu@l;_;yy;vIUWkX%&@c6=yl%_N zK(l2IC%JanPV~+W*k#F5dUvc`Hf4gYt^(fhwk^X4GQ(sig=X2!XhjD!b=FN0NH}v` z9syEV&YPoz@jicDZw<=M*?NzShV^kzM4I^3O(S8!Kwn=$kntUR4M3rpyw4tji=GVK zqbijsFT|D;Y=VwEKIjy#HDl^y!W!n(rXkY_4l#$!ZDE%2P2fTP%-7~}JVPemHV7U* zO-oM=1FSRTU`<56j_l{z>VeenLValhL69g89tnoPR)>cRWPEGy=i$iG0OyGs&y!M% z*M2i<$dpo1H#UkWwZG|fZivTH&Vzq z_#EBebLzU_K* ze=7+olkeuy`szbxs-2ehbuA!&e%)d%e{X9aHy7`2dC1^97*TEZ$5&vN!y#`p@=o8# zaP)QGZ0VUTY;E&OAk|SPnv^5dw#wrh^}U)b>gf2XST|H2(`TBAUfFXl_b!L(ccoB1 zG~y3gB&VHyvfRhta%^}it}y?;4)#6uDW~lZj&rgTXvFV^F`IaM)xu?DNmT|9c8Na< z33r6q@iXI^%w!p=lmP1Dv-aja`u^w^5!_J>>T$Z^L1(Wd(ZG}&{2YUC#^jZujwQTs zaA!S?7!e_}rSB+e2ZD2nT2SFF-@9Y{)IJdl=#x-Nl4@>>lFO3=b7>}W=}3TuQ%eSB zH}@{N4G$+4LgxFJN@ZD^fqlxliE>OCMUctTJ&JBT5&ajtv<&68skjsnNqg|ww(6aB zcJtQbjKA=D+$JI1aLJuFj4i#!Y9Z-_pVK{I^*!?>qfT{h1ox%RaH9DmYWOR5 z#?XhXNYBz0DtZ)rTh}$d6a9tSmh@}b)_^oHP)H|D^caPNLpNvP68+2U`~cb|9ie-Y z9o!hYje}HlR#V_`oV>VT7Ip1mvV+Y|mSG4yzdt2H1>19rZ z?ofP_BJy3dQz1U$yRwtdi)8#s1zLTU{Q3S4o;}t^^D6OqVQk)MrsoE8S)Y5(D9e;%`qf$Gzb#Hkm za0H3Dx87~(Hd~@9Inb`z^kUH((iuK3w2)j?H})k(=Qm(kJzeAzp0dt(xI9%|_#?QP z*DDeM;hD(d+)|v?DC%#{mLU*LiTwvq?IS3c%RBHePTlg=Nv`Kfj8#kR3_Q^x8s9>&tm-aRZXkS{R8ddUZuc6C9|f0vf)B?(m_5P@}2JJR)63zC{|$FGriDfJxbfbxFw;s z7rZXh7N^8uqkFh3PSgW7X6x7c>7gbw{hiJMLBXD9%_aro=uUCjS_FebqXqb9ZeO8o z>hVRs(uwo(!~C)gfodZovQoR-Zne&SOlk1$td(na9jhjS@08mMsQ^)2_M(+E)o$>a z7nu^9ZZU5<$&hzd55f0}+fb)Y^W9%LCNQBvyc&%3A*XG6~OgG-N1V8lCoa70fga+=uC|!)NQQEcRiQra8^PIb&-~23PiLuJenq%4XyCk zCDMyF5Uk5)rHa6P9?_Z+R0hQ8sJ<(M9ZbVIe6h5cITx&;OzF7seji6}!C!N##NLj# zr~xF{7SuO9ZPQrCzA7zF{{Uz_BW4(n>ScdUzv4+GL8<+Y$sz|TS_6OFC@Rq~IGU-C zR|aU2sn3S3d2&eJE?R51JZzX-`~w8hS8#t0)@?1h>z>!LGzsjP0Yc=ajA$ZtBI%?D-b=W@b85E@J6Pt`G?P`3Et@Htpq9csq z>%CU~AtIwEj^3*iqboLYu@J*U!E~(LHT(87sl?7eiC@jimo1#8^aL+lT^tS7@A9Yi z9;1jh1~%3xv2v;!@$a>jkVG(wt8E^oe$5_JMbYzZhb8%9=Hl?tl+wwy>37v%Ak>>E z9FLtdoQudexiggSI3)THi(%{WQmyfJJu^C7qw{k`6QG%A{<4XxC2g;fhq|NV=3@~N z4LAolF-Y6{-j?neVA*E=p5oJJlQr6&I>B$TTy7@Ke6y3BCGF0WVnuz)E08y``PY@e!w+MggeX2x-Emr&wMg>wH zv-xZYhT6en$`I*VLV|yRR52Kq{T&bX(S2*RK-F%yT(R))Ge8(f)6u-ym_Ng%;0t~4 z&lEfKY@b7Z>H|6es`qH2*0aSseCXGK38(f7+XQ~ouXvP-;U9&2PbCF4zg`*J7*Tq( zh^k9)Gyjo|!qh`nBP0NHxrap4me*hQjeZD<{q9+w62NVvw7;9eH$c;bb+17umokPB zNAf)_WNxyUUBFVmcj7uO&}#;)HZbQXZlfG?YCve81NlK_X_Ay zOFa&Abui2>%rn9a>FeI*^zFdL{miiE92`D4mWzt){!AVxAF}fd+n~MuLluLqZ}exl zZoaH*b%HZD^JQGhcHV{~3>$U_YIUvz_u?PT@m4i2$po9wWIc(etw5>-VUE>?;Pw@FervYdJg=pI^NQ^*Cv;!WS4oHlc zf=|!e$t%lE^(tK=k(+DT!7-AH?x>{MSyWreeL4N6I>_IlsnmMB`fT`0hfg?XZry=E zrsn28Gc3=p&^kB6@+n4%@n?TQ(_|hd#Su-pWTnWuM3v8{m4)Rt zPEY93hr3snl_yQ#=8ZV(rdg&3nkePEnXbo65mZpwGKp~C2hW=2gHXj0NDphV7ONoO z(>_4WX6-z==kT{fHDsp@nI^tQ2@{pE!I$x<{}<;XPF+wuHbuM$yk?Cs{!n=*P*Lh6 zADjKj|qV9WYH|ku5X(Y*D*yeQB&=UQe7ZFw$W|Mk8ENo~zN_ zg?!*uTMuo)u8;nuxa|*D5yv<_sHE^HJsm(_+o8!}LS`eNAUxK&my=hj*PH%<<7+aA z3N9u?FK)Ijw;^`-jh(p3$w$=9c5v@rtdtT0it!-^40bl3DwEi@P`UUQ#%6r`T|2`9 zr=VGjRl2CnhMuEjyBb$!qjfHuXlrMC&W%9H9@_bMQ%%WH<_Ms|`3I=Za29GV(WjYu zw`P?+()lz*ktCACnZ@}Sqj|}%*CC@AW`lqaR0j_*^e-6hQD+N7gsO{dD%O}gIz}pj z;oMUgQulqexDa^C;hlanZSnQ^vrT0Omtg550~Ln$Q!zxbKsR|^o}WvfNRV&MTQ>)x zDcqKN+{jj`SZ&d9DcLzyGQS_~T%ER;hbW0jYWwK>N)N_n>(mglkaIv~L+qK*gRO|S zdmQCEm7c(cMCe_rQEP?QkJ?9##a{Z)uKVn`DrF_oeYT|utP8w{xGg0z8(HEn3#P%# z>(9q#$=sR7>u3G{07o-24O)pjm({Zx4*vibmp{JvV^-N&>xNFjhRO_9{tV04%Ln25 z`1Q4vx+H2zQD@BHRtb{0+CL<&jI%8t5l@;*lRTV7O*M=!3h+_l-C5H(7ByTxnokuZ zP%_7eGVJZ@lpr5W7Ln4_*E`hPvhmH$7;ou-u zvIGkHB2`3}%%{PS^s|Ye_VxN5ZLB90WYe<-ccEK4Dldi2eZzm**$&2h4$Y>o7q;H5 z((42XVesDal|{!75t>Hg@t?VDiF^yp)by23!^qSbnAaZLg$@mI$0)IJ8ov`^idt)! zV#$vQU*x2THGPk;B~tQj=Ey;Mes8!vEzA`vAXs<(N^0w?_Y>bgj%zVRAiz#EN`x4s zPTw?M+Qm``TChcuGQ$gEDD7t)`*tx^#l7`y#tH9BoYG{*5Z`<~K$a{V31T|Q3H$c* z_KK+HQ9c)0WJ6szrbMTq>9(jxGTIS8Y=!t+fS5tbO;@=SWm(~ zaT3`&neO|@bZ2w48e8}je4ApLiK^w}9NE&T=eBBBJ};i4#|-TX#ET$uJ`}wKc1Oa< z=APM-95zERUf9pgKvmbmdvL% zzrSm#N#ODWUj21sKqWJw~`*5L)9hJSL1k~-k7ml=o0?Ks`2}y{X_sTb4v%G5W`rG*AJ0}8Pu1PrqtIg zMtrT-IeAWKQ@j-R_AhLDclhaakYXFE+W3Nk4tPaD&g65pXadhif$S_>BBEv{$B5Wx zMru#9s07pe(i?MD#b56B zXWlGr#3@tS?=gSdp~h03d@2z`bZ$itg>m#1SPX%BJG*#X(m^m}L}z(znA*I)KC^6b ziDneD`9zaT;YDI-fjh^zydYt^w6H9%wTdw-VLCNW+mSO8C@Kyk#|rIh2ADr;Dx`+) zEW7A0>E^2Nil>UifQ-(6K{E(r8NI;L1g1&+>$gI7W>Och2K%;{Xdc#50AZfhs1KXT zqtBFE`pkQv+C&!O^`cDJDzD{4wYgn%#0thatH2hHrrlb^VqtVb<7dM(PB@EL9aFPR zFflzZRcU^aw9(YpY>`Q6skzX~8v=p>`)FwARh8TB>zhCo470+jH*QC%b z7(ek!du2LCub)1i+n%4l49`7HDP?PCFC-cNdRH|c)9Kf7q5Ef1xul={1aB+;opawZ zni($LbhT3mLG`K>6|D)NX5HEPHt`TO69{vQV4+xJNhp;OR7DfK;FICqW*K*Oy$5o= z*5S@3d>SGKHnG=2!L-hP-}Nexx?tWTZX7FvlMZ&Z8gXefOu0FRjI>(gn_25A1CU`g zi;NNK_<)v`{(alrIW^0yMs|0(D!)*>NFYzJ$k&rvS%n6)m_N!AlZ{I~lgcLWdI)Xw z5$Cu8W>cW8pclKZJ@xbRIN6&k(k_GvqW#ysnvT(fG03!)IQIfTxPs<(9FF>+(B0&ioy_bYb)A3Gu~4 zFFZCX8FvB%cHX`0Zepyd5}E69=Vdl* zB{bs`tX*G`T2`j z*_$e6BI)eQVFeEHOZa{zxyNi)klJzbpq70DNg--Pd_%wRdQ6iAXl_A1YA%MQ4sVGeHtH?Zrr9*Jjz>N~q%Z#u;19Pe zqMH2=5M$*zK0|%SK@)ylA3w3|C>C8EV1Iq+9LNuCN`XQTnQL~pLf0@f0ua zSoyoDisdOGVZ!V2x z=6#Ch-JI}I{K5~eI3Ru%N=Z~ zuo?A!Dy;T@*W5+px-Q9edRgLKTE&3Q^t*vUUtzcks4OIR+Kb`)$s3gUQZK~qJkw=c z`H(w}Htt0rkf|Hs{{X;G^re$ZyVNJ%bf~ejkWdA0enksF-@oMn5nmw0ZBlFuXBh*NT>NlLVHpv&r)=(_S~QJ(vyVVq zr_!4Rt6a3dXur9%Ncj(S5m4T^DsfQYo4aMHHKIpPqjI{WDel__)$9-CGCDozg?>GHO}82Y(&HeUnMG zg;Zg_&vI~m&j<9VaEnGif-ZT{1Yb~yl#&aJ+?aMp1u*cn)7%wMxIkbQV#Q0cqq%2Vjksr`vz z9E%^HbdR^?%gG)Gv0f@sq`_fB$4Hobji=S zBCL-d%*>5mGovpsRUPfJmxK}v!1*h)jO*@^MEIOA;!sV zUn4(GwMYAE-%ynv6t}o#INYcr!S}(T0QD|38un~>H zk>Q$iAKnm_KuGO^D&VuzoWw=M_VT*#5SWR_wn*ZtP2wFxO@$S%-2B;B+#f%H>q%$g zomOef9bG(-*x2@hGJb^fOO@~aen6y_jDP$|*5I**<~cK#0IVh7^e84JZCQK%}?Tt#8&$>SEmke-wE9K^>~l@Z)Os zalCr6UHN}@KwAUb0MUDHHLk@Zvece9)I)gNGtU_r>&a@i+5%e0$L#Ao%m60hRZ^c$ zX=c!McL6@l4Z;@Si=rwPJ_+ z9r@w+-UI-5KX_(`QU3s6@Z~B?bDe(+X|}|*<;B7>ryI@y9++cR(%-|@&qEyU~^`2_zCA;Y@MHQ1&@Y99I6Lr!@A!%`S-nX8B}Eil3$c zstIcLQWh8XO>Vi!5t*_v*x*$uCW+*+PCNZD%971b0BTz2FRwRr0~h1If;F2*N01hh)Oha-bg>OMZiUP@|LQU&gk zjQuzV12vzfYf#+Wx0?mD(J=$fk_?gl^8rUIdbBI0q*;FUTV%SBNaRWo9kHry>D#cZ zyF+U=>wm#Ci|6`-iZ1ordkEF!yHaz>OH^UI zuUZr6hU47F(-tioe1_WE>PO@kw<@HOk4#pln|C^?w$gOqxf{TU5WITiQc3X|;%40) z&BPrP2BgfLZpbqF@`^mITTt?TLt2@OtWuyeP_p)q*^{k zI$=!bxtls3XqcSMMKgaa1)eZrvk}NN3d|F^$`pv#I=!Y9p>I1(N0N zr%kw0vcB=3_D*^IXpdTEtJ(fkH*9SZ#{ZIU_<#Hp38&Pp$?t zQQn)i0`fp^;f;pIj&u^XeF5xgVey31VPu)3 zDbyP0_BASUAaw;EkYk<0hrP(jkuF6iax{d0@9g2R_FK6?Taik$pUC z_EajDh!kUw?Diw4etOhj@R|LpO@>V_V56g3GMshk{xw=CAiZMCad~a9>^n(fM;$|T zsie`uGDQ{EttQY(BH0~V@gt>8qtvU(kBi0%=K|Nml8h3;;AB3Bl0Pc8n*Etg(%WeW zNZ`kGQ~*B?l~O+rPXyq7pt#0EOKPE1dJqn3t4|bCJW}0h0i$9LZRJz^sIq$nLPJWed>>7RIeC?!6@Aq(A z5%mOBNjw!b&BDoMmVpYCEd|f%^K_>b6!j)fZ(}tz>s648WQ`QE?<|H){(~HQ)Wcnf z?q-utP@Uwrl{aWERpy585{%k4O#cT0=$5#rNL!5A2qNAz5em7Z%y?w zaj2HXn@wiU@iQgw*@)e+S;pZc`i5GDA0kFG^B+rb)=pR;|YQlsWo zOs+k0ahfFXTyeXs^Iq*ypT5r7_Xn*W;C}Mk4o?_lZCBK>j1a;C2>SZazBYTimx#3O z9AFdYh3Dz8bM>d&_)5mkG|9bnCm?wR#yIPWn&(7GSbdsH&|w)}*36?G#120SJrAG-TwgArb&Knq1xB?GcZB`YeDJQ zk=n9X#P@dvk~r;|2SzX|?qfaAJTi zPB<9PPh8bTE2%DR>~x+O)aUU;$>nMZ5GpqrZB;}(XXe9yoYuQ&?J{Mxy9rsiWiXHc z`sTTx40vgD%P%TM+#GZAZy@8IcLQ56_+HVXC7EQ$J7q2Wvsq5p)ABZj?W)(*ziFac zTgFyv+ct1=86i>!{q>rE*|f-I#Fw$-+6eRdiqAeDvqmJrZU8%igvckiQ$e)TqCj5L zPe<$XrVU2@OHSPjvR!EKO0s>T1|xx;iH!RJ{VExJXQSB7hLXrI9oP*0ep;x}>61iP z?D}`nS7{#EsKte;{{T~?$1X;9EMe6CB$|AysW+EP7bEzKr@DZzU_t7lQ;>S}+fE-5 zwEe&9ZB*cLS&9Du&}%vLs3ennXou9dk^usox(rJ`_0e{B18U>>)8&A3%-D{4d@+t znb-Q$qSG{xfu(>=yRP!gX6G2y-irnO3lsR0N3o0rmfWmoozg2~ z{{S7RB>07+LA3eyhdsQ~Ka$d1TIt(@!>8HG*vSZl6ZmHo!)THw)X+dv&PBR_#+{?o zhUL=4r{aE>5oRXW*}T?oL+E)Pb#UTTbrS%6tC5QE8)hy(Siw*=UOBVKG!e(I{SkIsuH{V==!tZZFs z8jPf`*fjO$0LgHtZ{fF!tY1+PY+0=B)SQx%Fh9$h=WaY@r@yLVx zFB!~$pRwCp#@zvYx9BSUn_UR@vF>jDj%j9$NvZeeYUe+%H3ip(cdMQAoy~?QIUlI3 z)z|Lt&+gLC1avYok@*2pG(PWc_;O!N2*`9D=dKHk|EF6ihlP-CZhL4 z8^D(BDJXAcEVwGfqL1;Xw}5OBSQ~4_kj6rJy$+9f-reya zJh2~uHLIyktZ>!5{myt;VC}`NL1;Ni89@TK>)uu%G zRg+dOTKFEwz#Hv1i$7KfjJZEe)mmQ!NcV*j)X0u99pr4|-F}J+y=mm6ct8 zl|u#m&>j}vMeJ4G2=oJ-RVOawwGFIRhd_B)1=8k`z`+d(Bzj}!t9FrIT3l^^?JHGf zz*UKrRC;j6n=ZQW%a?}q5;*eaW()7uuUPn?#z8V(oN|8tf1NhuD5#H5486=^Mb#mi zQ;cqj$>X3o%@oV88#3-xg8lmz4$2SfMMbCmSf=T(>6533UMU0ltTV?>TA2FsiDikF zTbpT4;tOO(dmI|``<-HWHFYwX1)8|vaku;pbk|y}R_z-kjE^QTGlBT`#apD2F|EvQ zr1A)WM|WIgD=7qhJAOu)CZyL0P|mCe8yJ-!{xy?vuN7aNl3wTMDt@DZRVLPpv1~hG zcq~JM&)2ObO_b^*PWMrk0zx}CA2t}U>+8s>S9-LFf7cwb1g04A`C_AwR(WJtqluY` z`>`AY_2-JZx=rTAGBgmW<@dhgJ%{+yNiE5{dl>qq%W79}$K}70TQ10iFaz|dQsmDw zc_EE7SrX|}U6UG+pq!JR^Z8Zbqe*KI3<9b8 z14Br0=Dp67U%j)m(wFTsswM}{>^VMwcQwQ6TK>UIRO-N)Edr`d2M`1 z?RpOIF$gC(9kExhw2NXI;^6^y9Gu`TM^jD|)ORLzT=qm{TWZpX%F41y^9{f`#wzR< zM@+VELqrvUUO;^Do;@p{itJlo$K)ZLMh_}6?s@zxqOqP?tP48uM^1nbdbuWy>ASx& z#*^e+&K;fMk#{17BrBY9SKIZi4L;T>onc#-FR-IJwtiqTIQ9C~A*d;_R0lD)-BLPL zI21Man1{=F_zVY5F`QO*Y}qu8yNz1%+Gt?8Hv2Y%8?hmn9x?_olj&QUE|RHa)7k}D zB0RZ}5`Bp7E1sE?RgNg<4J?rWH!E%3@0zov&UCVI0gYpjmB&U6&U5&lD=95BHjCF& zt9fJCqGtfH;ep0ay;OZF2{*m0gLiZc2>Ox!deg0S2yb9gl0?jSV8Dh4@c#e`j(2+- zfEGCJ5FQjaIP~NS!6vjfWm$CC<~wADBG}*+>rovRNb%*QD5IP%K|fm1xx2B{SVkf- zxd$U>-93P)PMSi=`_*P0T2R9rdt)_fPpJ+mkoj@xcBpT6?dUK-T<51wO)~buCY{pS zS>g;sV1+-^H0dv9Vp*0c)Gr}V3;Fb>OKWR?2%mb}y6{kNNcATbOHD-AL9;%iZSrl7 z;Hb!9lpuD_cr`|Ce)uzPwTVF>0#Ha8e?eMzhW64h>u|FPKr4a{f5@n$H&DbF+Qd

                9zSzUir3V-5lX(&~|$ST7hjU?A82?;c} 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 Y0!d*uv7N&kv(qAqah{iAl^4+e*=5ncH2?qr literal 0 HcmV?d00001 diff --git a/digitalWorksheets/js/adoptionBehaviorCurve.js b/digitalWorksheets/js/adoptionBehaviorCurve.js new file mode 100644 index 0000000..e69de29 diff --git a/digitalWorksheets/js/assessment.js b/digitalWorksheets/js/assessment.js new file mode 100644 index 0000000..2aae98b --- /dev/null +++ b/digitalWorksheets/js/assessment.js @@ -0,0 +1,30 @@ +$(document).ready(function() { + + $('#qTable a').each(function() { + var link = $(this); + + if (link.attr("href").toLowerCase().indexOf("customerdevlabs.com/focus") >= 0) { + link.attr("href", "http://focus.customerdevlabs.com/#focus-framework"); + link.attr("target", "_blank"); + } + }); + + $('#qTable li').on('click', function() { + //style the selected answer + $(this).removeClass('btn-default').addClass('btn-primary').siblings("li").removeClass('btn-primary').addClass('btn-default'); + //hide all rows after the currently displayed row and remove selectedAnswer style + $(this).closest("tr").prevAll("tr").remove(); + + //show the next row that matches the question id + var italNum = $(this).find('i').text(); + var qNextSelector = ' tr:nth-child(' + italNum + ')'; + var nextQuestion = $('#qTable' + qNextSelector).clone(true).hide(); + + $('#treeTable').prepend(nextQuestion); + nextQuestion.fadeIn(800); + }) + + // setup first question + var firstQuestion = $('#qTable tr').first().clone(true); + $('#treeTable').prepend(firstQuestion); +}) diff --git a/digitalWorksheets/js/declaringVictory.js b/digitalWorksheets/js/declaringVictory.js new file mode 100644 index 0000000..09bf3e4 --- /dev/null +++ b/digitalWorksheets/js/declaringVictory.js @@ -0,0 +1,116 @@ +var currentStep = -1; +var previousLayout; + +$(document).ready(function() { + $('.prev-button').click(prevStep); + $('.next-button').click(nextStep); + + $(window).resize(initInstructionDimensions); +}); + +$(window).load(function() { + nextStep(); +}); + +function initInstructionDimensions() { + const INSTRUCTION_RATIO = .8; + + if ($('.worksheet').height() > 0) { + $('.instructions > .content').css('max-height', $('.worksheet').height() * INSTRUCTION_RATIO); + } +} + +function nextStep() { + currentStep++; + setStep(); +} + +function prevStep() { + currentStep--; + setStep(); +} + +function setStep() { + initInstructionDimensions(); + + var panel = $(".instruction-panel"); + var title = panel.find('.panel-title'); + var content = panel.find('.content'); + var step = $('.step:eq(' + currentStep + ')'); + var wrkshtImg = $('.worksheet img'); + var newLayout = step.attr('layout'); + var fields = step.find('.fields').children(); + + panel.fadeOut("slow", function() { + if (currentStep == 1 && !wrkshtImg.hasClass('fly-in')) { + wrkshtImg.addClass('transitions'); + wrkshtImg.addClass('fly-in'); + + setTimeout(setStep, 1500); + return; + } + + var changeImage = step.attr('changeImage'); + + if (changeImage != null && wrkshtImg.attr('src') != changeImage) { + wrkshtImg.removeClass('transitions'); + + $('.blank:visible').addClass('comeback').fadeOut("slow"); + + wrkshtImg.fadeOut("slow", function() { + wrkshtImg.attr('src', changeImage); + wrkshtImg.fadeIn("slow"); + + $('.comeback').fadeIn("slow").removeClass('comeback'); + }); + + setTimeout(setStep, 1000); + return; + } + + title.html(step.find('.title').html() + " " + (currentStep + 1) + ' of ' + $('.step').length + ""); + content.html(step.find('.content').html()); + + content.find('.lightboxable').attr('data-lightbox', 'step' + currentStep); + + if (newLayout != previousLayout) { + panel.addClass(newLayout); + panel.removeClass(previousLayout); + + previousLayout = newLayout; + } + + fields.each(function() { + var field = $(this).attr("class"); + $('div.' + field).fadeIn("slow").get(0).focus(); + }); + + if (fields.length > 0) { + var firstField = fields.first().attr('class'); + $('div.' + firstField).get(0).focus(); + } + + if (currentStep == 0) { + // first step + $('.prev-button').hide(); + $('.next-button').text("Start"); + } + else if (currentStep >= $('.step').length - 1) { + // last step + $('.next-button').hide(); + } + else { + // middle step + $('.prev-button').show().text('Prev'); + $('.next-button').show().text('Next'); + } + + panel.fadeIn("slow"); + }); +} + +function swapImage(img) { + var wrkshtImg = $('.worksheet img'); + + wrkshtImg.attr('src', img); +} diff --git a/digitalWorksheets/js/lightbox.js b/digitalWorksheets/js/lightbox.js new file mode 100644 index 0000000..352bb86 --- /dev/null +++ b/digitalWorksheets/js/lightbox.js @@ -0,0 +1,453 @@ +/*! + * Lightbox v2.8.2 + * by Lokesh Dhakar + * + * More info: + * http://lokeshdhakar.com/projects/lightbox2/ + * + * Copyright 2007, 2015 Lokesh Dhakar + * Released under the MIT license + * https://github.com/lokesh/lightbox2/blob/master/LICENSE + */ + +// Uses Node, AMD or browser globals to create a module. +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require('jquery')); + } else { + // Browser globals (root is window) + root.lightbox = factory(root.jQuery); + } +}(this, function ($) { + + function Lightbox(options) { + this.album = []; + this.currentImageIndex = void 0; + this.init(); + + // options + this.options = $.extend({}, this.constructor.defaults); + this.option(options); + } + + // Descriptions of all options available on the demo site: + // http://lokeshdhakar.com/projects/lightbox2/index.html#options + Lightbox.defaults = { + albumLabel: 'Image %1 of %2', + alwaysShowNavOnTouchDevices: false, + fadeDuration: 500, + fitImagesInViewport: true, + // maxWidth: 800, + // maxHeight: 600, + positionFromTop: 50, + resizeDuration: 700, + showImageNumberLabel: true, + wrapAround: false, + disableScrolling: false + }; + + Lightbox.prototype.option = function(options) { + $.extend(this.options, options); + }; + + Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { + return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); + }; + + Lightbox.prototype.init = function() { + this.enable(); + this.build(); + }; + + // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes + // that contain 'lightbox'. When these are clicked, start lightbox. + Lightbox.prototype.enable = function() { + var self = this; + $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { + self.start($(event.currentTarget)); + return false; + }); + }; + + // Build html for the lightbox and the overlay. + // Attach event handlers to the new DOM elements. click click click + Lightbox.prototype.build = function() { + var self = this; + $('

                ').appendTo($('body')); + + // Cache jQuery objects + this.$lightbox = $('#lightbox'); + this.$overlay = $('#lightboxOverlay'); + this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); + this.$container = this.$lightbox.find('.lb-container'); + + // Store css values for future lookup + this.containerTopPadding = parseInt(this.$container.css('padding-top'), 10); + this.containerRightPadding = parseInt(this.$container.css('padding-right'), 10); + this.containerBottomPadding = parseInt(this.$container.css('padding-bottom'), 10); + this.containerLeftPadding = parseInt(this.$container.css('padding-left'), 10); + + // Attach event handlers to the newly minted DOM elements + this.$overlay.hide().on('click', function() { + self.end(); + return false; + }); + + this.$lightbox.hide().on('click', function(event) { + if ($(event.target).attr('id') === 'lightbox') { + self.end(); + } + return false; + }); + + this.$outerContainer.on('click', function(event) { + if ($(event.target).attr('id') === 'lightbox') { + self.end(); + } + return false; + }); + + this.$lightbox.find('.lb-prev').on('click', function() { + if (self.currentImageIndex === 0) { + self.changeImage(self.album.length - 1); + } else { + self.changeImage(self.currentImageIndex - 1); + } + return false; + }); + + this.$lightbox.find('.lb-next').on('click', function() { + if (self.currentImageIndex === self.album.length - 1) { + self.changeImage(0); + } else { + self.changeImage(self.currentImageIndex + 1); + } + return false; + }); + + this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { + self.end(); + return false; + }); + }; + + // Show overlay and lightbox. If the image is part of a set, add siblings to album array. + Lightbox.prototype.start = function($link) { + var self = this; + var $window = $(window); + + $window.on('resize', $.proxy(this.sizeOverlay, this)); + + $('select, object, embed').css({ + visibility: 'hidden' + }); + + this.sizeOverlay(); + + this.album = []; + var imageNumber = 0; + + function addToAlbum($link) { + self.album.push({ + link: $link.attr('href'), + title: $link.attr('data-title') || $link.attr('title') + }); + } + + // Support both data-lightbox attribute and rel attribute implementations + var dataLightboxValue = $link.attr('data-lightbox'); + var $links; + + if (dataLightboxValue) { + $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]'); + for (var i = 0; i < $links.length; i = ++i) { + addToAlbum($($links[i])); + if ($links[i] === $link[0]) { + imageNumber = i; + } + } + } else { + if ($link.attr('rel') === 'lightbox') { + // If image is not part of a set + addToAlbum($link); + } else { + // If image is part of a set + $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); + for (var j = 0; j < $links.length; j = ++j) { + addToAlbum($($links[j])); + if ($links[j] === $link[0]) { + imageNumber = j; + } + } + } + } + + // Position Lightbox + var top = $window.scrollTop() + this.options.positionFromTop; + var left = $window.scrollLeft(); + this.$lightbox.css({ + top: top + 'px', + left: left + 'px' + }).fadeIn(this.options.fadeDuration); + + // Disable scrolling of the page while open + if (this.options.disableScrolling) { + $('body').addClass('lb-disable-scrolling'); + } + + this.changeImage(imageNumber); + }; + + // Hide most UI elements in preparation for the animated resizing of the lightbox. + Lightbox.prototype.changeImage = function(imageNumber) { + var self = this; + + this.disableKeyboardNav(); + var $image = this.$lightbox.find('.lb-image'); + + this.$overlay.fadeIn(this.options.fadeDuration); + + $('.lb-loader').fadeIn('slow'); + this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + + this.$outerContainer.addClass('animating'); + + // When image to show is preloaded, we send the width and height to sizeContainer() + var preloader = new Image(); + preloader.onload = function() { + var $preloader; + var imageHeight; + var imageWidth; + var maxImageHeight; + var maxImageWidth; + var windowHeight; + var windowWidth; + + $image.attr('src', self.album[imageNumber].link); + + $preloader = $(preloader); + + $image.width(preloader.width); + $image.height(preloader.height); + + if (self.options.fitImagesInViewport) { + // Fit image inside the viewport. + // Take into account the border around the image and an additional 10px gutter on each side. + + windowWidth = $(window).width(); + windowHeight = $(window).height(); + maxImageWidth = windowWidth - self.containerLeftPadding - self.containerRightPadding - 20; + maxImageHeight = windowHeight - self.containerTopPadding - self.containerBottomPadding - 120; + + // Check if image size is larger then maxWidth|maxHeight in settings + if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) { + maxImageWidth = self.options.maxWidth; + } + if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) { + maxImageHeight = self.options.maxHeight; + } + + // Is there a fitting issue? + if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { + if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { + imageWidth = maxImageWidth; + imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); + $image.width(imageWidth); + $image.height(imageHeight); + } else { + imageHeight = maxImageHeight; + imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10); + $image.width(imageWidth); + $image.height(imageHeight); + } + } + } + self.sizeContainer($image.width(), $image.height()); + }; + + preloader.src = this.album[imageNumber].link; + this.currentImageIndex = imageNumber; + }; + + // Stretch overlay to fit the viewport + Lightbox.prototype.sizeOverlay = function() { + this.$overlay + .width($(document).width()) + .height($(document).height()); + }; + + // Animate the size of the lightbox to fit the image we are showing + Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { + var self = this; + + var oldWidth = this.$outerContainer.outerWidth(); + var oldHeight = this.$outerContainer.outerHeight(); + var newWidth = imageWidth + this.containerLeftPadding + this.containerRightPadding; + var newHeight = imageHeight + this.containerTopPadding + this.containerBottomPadding; + + function postResize() { + self.$lightbox.find('.lb-dataContainer').width(newWidth); + self.$lightbox.find('.lb-prevLink').height(newHeight); + self.$lightbox.find('.lb-nextLink').height(newHeight); + self.showImage(); + } + + if (oldWidth !== newWidth || oldHeight !== newHeight) { + this.$outerContainer.animate({ + width: newWidth, + height: newHeight + }, this.options.resizeDuration, 'swing', function() { + postResize(); + }); + } else { + postResize(); + } + }; + + // Display the image and its details and begin preload neighboring images. + Lightbox.prototype.showImage = function() { + this.$lightbox.find('.lb-loader').stop(true).hide(); + this.$lightbox.find('.lb-image').fadeIn('slow'); + + this.updateNav(); + this.updateDetails(); + this.preloadNeighboringImages(); + this.enableKeyboardNav(); + }; + + // Display previous and next navigation if appropriate. + Lightbox.prototype.updateNav = function() { + // Check to see if the browser supports touch events. If so, we take the conservative approach + // and assume that mouse hover events are not supported and always show prev/next navigation + // arrows in image sets. + var alwaysShowNav = false; + try { + document.createEvent('TouchEvent'); + alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; + } catch (e) {} + + this.$lightbox.find('.lb-nav').show(); + + if (this.album.length > 1) { + if (this.options.wrapAround) { + if (alwaysShowNav) { + this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1'); + } + this.$lightbox.find('.lb-prev, .lb-next').show(); + } else { + if (this.currentImageIndex > 0) { + this.$lightbox.find('.lb-prev').show(); + if (alwaysShowNav) { + this.$lightbox.find('.lb-prev').css('opacity', '1'); + } + } + if (this.currentImageIndex < this.album.length - 1) { + this.$lightbox.find('.lb-next').show(); + if (alwaysShowNav) { + this.$lightbox.find('.lb-next').css('opacity', '1'); + } + } + } + } + }; + + // Display caption, image number, and closing button. + Lightbox.prototype.updateDetails = function() { + var self = this; + + // Enable anchor clicks in the injected caption html. + // Thanks Nate Wright for the fix. @https://github.com/NateWr + if (typeof this.album[this.currentImageIndex].title !== 'undefined' && + this.album[this.currentImageIndex].title !== '') { + this.$lightbox.find('.lb-caption') + .html(this.album[this.currentImageIndex].title) + .fadeIn('fast') + .find('a').on('click', function(event) { + if ($(this).attr('target') !== undefined) { + window.open($(this).attr('href'), $(this).attr('target')); + } else { + location.href = $(this).attr('href'); + } + }); + } + + if (this.album.length > 1 && this.options.showImageNumberLabel) { + var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length); + this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast'); + } else { + this.$lightbox.find('.lb-number').hide(); + } + + this.$outerContainer.removeClass('animating'); + + this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { + return self.sizeOverlay(); + }); + }; + + // Preload previous and next images in set. + Lightbox.prototype.preloadNeighboringImages = function() { + if (this.album.length > this.currentImageIndex + 1) { + var preloadNext = new Image(); + preloadNext.src = this.album[this.currentImageIndex + 1].link; + } + if (this.currentImageIndex > 0) { + var preloadPrev = new Image(); + preloadPrev.src = this.album[this.currentImageIndex - 1].link; + } + }; + + Lightbox.prototype.enableKeyboardNav = function() { + $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); + }; + + Lightbox.prototype.disableKeyboardNav = function() { + $(document).off('.keyboard'); + }; + + Lightbox.prototype.keyboardAction = function(event) { + var KEYCODE_ESC = 27; + var KEYCODE_LEFTARROW = 37; + var KEYCODE_RIGHTARROW = 39; + + var keycode = event.keyCode; + var key = String.fromCharCode(keycode).toLowerCase(); + if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { + this.end(); + } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { + if (this.currentImageIndex !== 0) { + this.changeImage(this.currentImageIndex - 1); + } else if (this.options.wrapAround && this.album.length > 1) { + this.changeImage(this.album.length - 1); + } + } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) { + if (this.currentImageIndex !== this.album.length - 1) { + this.changeImage(this.currentImageIndex + 1); + } else if (this.options.wrapAround && this.album.length > 1) { + this.changeImage(0); + } + } + }; + + // Closing time. :-( + Lightbox.prototype.end = function() { + this.disableKeyboardNav(); + $(window).off('resize', this.sizeOverlay); + this.$lightbox.fadeOut(this.options.fadeDuration); + this.$overlay.fadeOut(this.options.fadeDuration); + $('select, object, embed').css({ + visibility: 'visible' + }); + if (this.options.disableScrolling) { + $('body').removeClass('lb-disable-scrolling'); + } + }; + + return new Lightbox(); +})); diff --git a/fiwest.html b/fiwest.html new file mode 100644 index 0000000..d131dfe --- /dev/null +++ b/fiwest.html @@ -0,0 +1,1899 @@ + + + + + Webshops: Better Online Learning | Customer Development Labs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                +
                How to Find Product-Market Fit with Justin Wilcox
                +
                + +
                +
                +
                +
                +
                + + + +
                + +
                + +
                +
                +

                Questions: Ask and up vote.

                +
                +
                +
                  +
                  + +
                  + + + +
                  +
                  + +
                  +
                  +
                  +
                  + +
                  + +
                  +
                  + + + + +
                  +
                  +
                  +
                  +

                  Welcome to How to Find Product-Market Fit!

                  + You can take notes during the workshop here. +

                  +   +

                  Takeaways

                  +

                  +

                  - Declaring Victory: What's your Victory?

                  +

                  +   +

                  - Product-Market Fit Assessment:

                  +
                    +
                  • Phase are you in:
                  • +
                  • Riskiest Assumption:
                  • +
                  • Next step:
                  • +

                    +   + +

                    Where are your Early Adopters:

                    +

                    +
                  +
                  +
                  +
                  + +
                  +
                  + + + + +
                  +
                  +
                  + +
                  +
                  +
                  + +
                  +
                  + + + + +
                  + +
                  +
                  + + +
                  Write here
                  +
                  Write here
                  +
                  Write here
                  +
                  Number
                  +
                  of things here
                  +
                  Write here
                  +
                  Write here
                  + +
                  +
                  + +
                  +
                  +
                  +
                  +
                  + +
                  +
                  +
                  + +
                  + +
                  +
                  Defining Product-Market Fit
                  +
                  + Ready to define Product-Market Fit? +
                  +
                  + +
                  +
                  Declaring Victory Worksheet
                  +
                  + This worksheet will walk you through defining Product-Market Fit. +
                  +
                  + +
                  +
                  Today's Date
                  +
                    +
                  • +
                  +
                  + Start by writing in today's date in the field on the right.

                  +
                  +
                  + +
                  +
                  Declaring Victory
                  +
                  + Before you go any further, wait for me to describe why this first exercise is critically important to achieving Product-Market Fit. +
                  +
                  + + + +
                  +
                  What's your Product?
                  +
                  +

                  Write in the product or service that you would like to build.

                  +

                  Click for an Example

                  +

                  + + 2015-12-03_1108_001 + +

                  +

                  As you move through FOCUS's exercises, I'll illustrate each step using my own experiments and experiences.

                  +
                  +
                    +
                  • +
                  +
                  + +
                  +
                  Who's your Customer?
                  +
                  + Write in the customers or people whom you would like to serve.

                  + + 2015-12-03_1107 + +
                  +
                    +
                  • +
                  +
                  + +
                  +
                  Fold on the Dotted Line
                  +
                  + Click next to fold the worksheet on the dotted line over and Declare your Victory! +
                  +
                    +
                  +
                  + +
                  +
                  Your Promise
                  +
                  + Now that your worksheet is folded, you've revealed a new contract with yourself: +
                    +
                  1. Even if you never get to build your product and
                  2. +
                  3. Even if you are not able to help the people you want to help...
                  4. +
                  +
                  You are still going to achieve victory.
                  +
                  +
                    +
                  +
                  + + + +
                  +
                  Enter your Victory
                  +
                  +

                  Write in your measurable Victory metric.

                  + While it may be a bit challenging to come up with, your Victory must be measurable. If it's not, you won't be able to tell if you're on track to get it. + 2015-12-03_1144_001 +
                  +
                    +
                  • +
                  • +
                  +
                  + +
                  +
                  What Emotions are you Seeking?
                  +
                  + Now that you know what your true victory will be, write in how you imagine it will feel to achieve.

                  +

                  What emotions come to mind when you imagine what will be different in your life when you declare victory? +

                  Why emotions?
                  +

                  Remember that misplaced emotional attachment kills companies. Instead of emotionally attaching to a specific product, you're going to focus your energy where it's most efficient: achieving the emotion that is driving your entrepreneurial + journey. +

                  + + + +

                  (Wanna know a secret? The reason your starting a company isn't to achieve your victory. You're starting a company to achieve the emotion you think the victory will give you.)

                  +
                  +
                    +
                  • +
                  +
                  + +
                  +
                  Make it Official
                  +
                  +

                  Congratulations! You have your victory.

                  +

                  Now you know exactly what Andreesen meant when he said, "Being in a good market with a product that can satisfy that market."

                  + You will have found Product-Market Fit, when you satisfy a "good market" that enables you to achieve your victory!

                  + Sign your name and post this paper in a very visible place (e.g. your desk, your night stand, your bathroom mirror, your car, etc.).

                  +

                  (Posting it will be easier when you're using an actual FOCUS worksheet :)

                  +

                  This paper will remind you of your true aim - even if you have to kill your idea, even if you have to pivot your customer segment, you will still be moving towards your victory by focusing on your personal outcomes.

                  + + + +
                  +
                    +
                  • +
                  +
                  + +
                  +
                  What are your Co-Founders' Victories?
                  +
                  + Ask your co-founder(s) to complete the exercise too - either now, or when they join your team.

                  +

                  It can be awkward to sit down with your co-founder(s) to understand why they want to start a company - what "victory" looks like for them. At the same time, it's the most important conversation you will have with them. +

                  Misaligned goals is the #1 reason founding teams break up.
                  + This exercise makes this crucial conversation with your co-founders easy. Simply have each co-founder fill out the worksheet individually (Steps 1 - 6) and then... +

                  Merge your Victories

                  + + + + On the back side of the worksheet is a place for your team to merge your declarations into a single, unifying victory.

                  +

                  By merging your goals into a team-wide victory declaration, you can ensure everyone is on the same page and have a common reference point you all turn to when making decisions.

                  +

                  If you're not able to align your goals, better to discover that now than later. So often one founder wants to change the world, while another simply wants personal financial freedom - both are great, but not in the same founding + team. +

                  +

                  The sooner you find out what you and your co-founder(s) want, the more quickly you can get it...either together, or apart. +

                  +
                  + + + +
                  +
                  Find your FOCUS
                  +
                  +

                  Congratulations, you've taken the most important step of your startup journey, you've Declared Victory and in doing so, defined your Product-Market Fit. +

                  Now it's time, to go get it!
                  + +
                  +
                  + +
                  + +
                  + +
                  +
                  + + + + +
                  +
                  +
                  + +
                  +
                  + + +
                  Your customer segment
                  +
                  Your customer's problem (in their words)
                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  1. +
                  2. +
                  3. +
                  +
                  +
                  1. +
                  2. +
                  3. +
                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  +
                  + + + + +
                  +
                  +
                  + +
                  +

                  Product-Market Fit Assessment

                  This exercise will tell you: +
                    +
                  1. What phase of Product-Market Fit you're in
                  2. +
                  3. Your startup's "Riskiest Assumption"
                  4. +
                  5. Your next step to test that assumption
                  6. +
                  +

                  Just answer these questions...

                  +
                  + + +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  +
                  +
                  +

                  Have you launched your product?

                  +
                  +
                  +
                    +
                  • No30
                  • +

                    +
                  • Yes2
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Are customers paying for it?

                  +
                  +
                  +
                    +
                  • No23
                  • +

                    +
                  • Yes3
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Are enough customers paying for it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No5
                  • +

                    +
                  • Yes4
                  • +

                    +
                  • Not sure20
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Congrats! You're on the path to Product-Market Fit. +
                  +
                  +
                  + Keep doing what you're doing! +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why aren't you on track to acheive Product-Market Fit?

                  +
                  +
                  +
                    +
                  • Not enough customers6
                  • +

                    +
                  • Customer Lifetime Value is too low16
                  • +

                    +
                  +
                  Not sure? Go with your gut. Eventually you'll test both.
                  +
                  +
                  +
                  +
                  +
                  +

                  Why don't you have enough customers?

                  +
                  +
                  +
                    +
                  • Having trouble finding them7
                  • +

                    +
                  • Conversion rate it too low10
                  • +

                    +
                  • Customer segment is too small14
                  • +

                    +
                  • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                  • +

                    +
                  +
                  Not sure? Starting at the top, pick the first answer you think could be the reason.
                  +
                  +
                  +
                  +
                  +
                  +

                  Where are you looking for customers?

                  +
                  +
                  +
                    +
                  • Places I think my customers are.8
                  • +

                    +
                  • Places customers have told me they are.9
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption is: You know where your customers look for solutions to their problems. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Finding Early Adopters for your product.
                  +
                  Your Your Next Step: Interview customers to validate where they look for solutions.
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                  Use this information + to make your interviews easier and faster to get.
                  +
                  +

                  Found in FOCUS Workbook 1...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Your marketing channels can reach a sufficient number of customers for you to achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Offer Testing - You can Reach your Early Adopters.
                  +
                  Your Next Step: Test alternative channels to determine potential customer segment size.
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This spreadsheet will show you if your segment is large enough for you to achieve Product-Market Fit based on real-world, bottoms-up, data. + +

                  You'll also be able to estimate the size of your marketing channels, conversion rates, and price points to determine the best approach for you to achieve Product-Market Fit. +
                  +
                  +

                  Found in FOCUS Workbook 2...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  What emotions are you evoking in your Call to Action?

                  +
                  +
                  +
                    +
                  • I'm not evoking emotions in my Call to Action11
                  • +

                    +
                  • Emotions I think my customers are experiencing12
                  • +

                    +
                  • Emotions my customers have told me they are experiencing13
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You understand what your customers are trying to accomplish in their roles. +
                  +
                  +
                  +
                  Product-Market Fit Phase: .
                  +
                  Your Next Step: Interview your customers to understand what problems they are actively trying to solve. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will help you brainstorm specific groups of customers you can serve by focusing on their problems. + +

                  Everything is easier when you center your attention on your customer's problems: asking for interviews, marketing, sales, product development, etc. Take this step now, and you'll move much faster through the rest + of your journey. +
                  +
                  +

                  Found in FOCUS Workbook 1...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You understand your customer's emotional desires. +
                  +
                  +
                  +
                  Product-Market Fit Phase: .
                  +
                  Your Next Step: Interview your customers to understand their emotional desires. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                  Use this information + to make your interviews easier and faster to get.
                  +
                  +

                  Found in FOCUS Workbook 1...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Your marketing copy reasonates emotionally with your customers. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Offer Testing - You can Reach your Early Adopters.
                  +
                  Your Next Step: Test multiple versions of your marketing copy/Call to Action. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will help you identify the emotions your customers' emotions. + +

                  By identifying and addressing your customers' emotional needs, you'll significantly increase your conversion rate. +
                  +
                  +

                  Found in FOCUS Workbook 2...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: There are large enough customer segments for you to achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Scaling to Product-Market Fit.
                  +
                  Your Next Step: Identify, size and test related customer segments. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will show you how to transition from your Early Adopters to your Early Majority segment. + +

                  By acquiring secondary and tertiary segments you'll be able to accelerate your path to Product-Market Fit. + +
                  +
                  +

                  Found in FOCUS Workbook 5...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Your solution is solving your customer's problem well enough, and they are incentivized enough, to share your product with others. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                  +
                  Your Next Step: Increase your Viral Coefficent (i.e. K Factor). +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will help you brainstorm and prioritize ways to increase the virality of your product.
                  +
                  +

                  Found in FOCUS Workbook 4...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why is your Customer Lifetime Value too low?

                  +
                  +
                  +
                    +
                  • Customer churn is too high (i.e. they cancel your service too soon)17
                  • +

                    +
                  • Price is too low18
                  • +

                    +
                  • Cost of customer acquisition is too high19
                  • +

                    +
                  +
                  Not sure? Starting at the top, pick the first answer you think could be the reason.
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Your solution is solving your customer's problem well enough that they'll continue paying for it. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                  +
                  Your Next Step: Test ways to increase the value your solution is providing to customers. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will provide four different techniques to increase your Customer Lifetime Value making it more likely you'll achieve Product-Market Fit..
                  +
                  +

                  Found in FOCUS Workbook 4...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Customers will pay enough to solve their problem for you to achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                  +
                  Your Next Step: Optimize your price via price testing. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: Whether you're B2B or B2C, this exercise will show how to optimize your price - without upsetting your customers!
                  +
                  +

                  Found in FOCUS Workbook 3...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You can lower your Cost of Customer acquisition such that you can achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Offer Testing: You can Reach your Early Adopters.
                  +
                  Your Next Step: Test alternative channels to determine your optimal acquisition ROI. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This spreadsheet will show you what combination of marketing channels, price point, and conversion rates you'll need to acheive in order to find Product-Market Fit. +
                  +
                  +

                  Found in FOCUS Workbook 2...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Have you defined a metric that represents when you have acheived Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No21
                  • +

                    +
                  • Yes22
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You know what Product-Market Fit means for you and your team. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Finding Early Adopters for your product.
                  +
                  Your Next Step: Define Product-Market Fit for you and your team. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: You can't achieve Product-Market Fit until you've defined it for you and your team. + +

                  This exercise will walk your entire team through the process of defining the most important metric of your startup...what success looks like.
                  +
                  +

                  Found in FOCUS Workbook 1...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: The problem you're solving will lead you on a path to Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                  +
                  Your Next Step: Calculate your the size of this market to determine if Product-Market Fit is achievable. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This spreadsheet will tell you how large your segment has the potential to be and exactly what conversion rates you'll need to achieve in order to find Product-Market + Fit. +
                  +
                  +

                  Found in FOCUS Workbook 3...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Are customers using the product?

                  +
                  +
                  +
                    +
                  • No41
                  • +

                    +
                  • Yes24
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why aren't your customers paying to use your product?

                  +
                  +
                  +
                    +
                  • Product isn't high enough quality to charge yet (i.e. pilot phase, trialing, etc.)25
                  • +

                    +
                  • Going to monetize after reaching critical mass26
                  • +

                    +
                  • Pursuing a freemium model and haven't built paid features yet25
                  • +

                    +
                  • Tried charging but no one would pay10
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Customers will pay you enough that you'll achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Currency Testing: Your Early Adopters will Pay you.
                  +
                  Your Next Step: Charge customers via pre-orders or Letters of Intent for future functionality. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: Whether you're B2B or B2C, this exercise will show you how to pre-sell a solution to a problem - without deceiving or disappointing your customers.
                  +
                  +

                  Found in FOCUS Workbook 3...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Are enough customers using it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No28
                  • +

                    +
                  • Yes38
                  • +

                    +
                  • Not sure20
                  • +

                    +
                  +
                  +
                  +
                  + +
                  +
                  +
                  +

                  Why aren't enough customers using for you to achieve Product-Market Fit?

                  +
                  +
                  +
                    +
                  • Having trouble finding them7
                  • +

                    +
                  • Conversion rate it too low10
                  • +

                    +
                  • Customer segment is too small14
                  • +

                    +
                  • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                  • +

                    +
                  +
                  Not sure? Starting at the top, pick the first answer you think could be the reason.
                  +
                  +
                  +
                  +
                  +
                  +

                  Have you defined a metric that represents when you have acheived Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No21
                  • +

                    +
                  • Yes22
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Have you generated any pre-sales or signed Letters of Intent?

                  +
                  +
                  +
                    +
                  • No35
                  • +

                    +
                  • Yes31
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Are enough customers pre-paying for it that, if you solve their problems, you'll achieve Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No5
                  • +

                    +
                  • Yes32
                  • +

                    +
                  • Not sure20
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why haven't you launched the product yet?

                  +
                  +
                  +
                    +
                  • No development team33
                  • +

                    +
                  • Solution is still under development33
                  • +

                    +
                  • Testing the solution privately before making it available publicly34
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You can solve your customers' problems. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                  +
                  Your Next Step: Test a manual solution. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will walk you through how to create a manual solution in the most efficient way possible.
                  +
                  +

                  Found in FOCUS Workbook 4...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: You can solve your customers' problems at scale. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Scaling to Fit - You can achieve Product-Market Fit.
                  +
                  Your Next Step: Test an automated solution. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will help you transition from a manual solution to an automated one in the most efficient way possible.
                  +
                  +

                  Found in FOCUS Workbook 5...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Have you identified a problem at least 60% of your customers are actively trying to solve?

                  +
                  +
                  +
                    +
                  • No40
                  • +

                    +
                  • Yes36
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  If you solve the problem, will you achieve Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No5
                  • +

                    +
                  • Yes37
                  • +

                    +
                  • Not sure39
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why aren't you collecting pre-orders or Letters of Intent?

                  +
                  +
                  +
                    +
                  • Can't finding customers to pre-sell7
                  • +

                    +
                  • Don't know how38
                  • +

                    +
                  • Tried but no one bought10
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Customers will pay you enough that you'll achieve Product-Market Fit. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Currency Testing - Your Early Adopters will Pay you.
                  +
                  Your Next Step: Charge customers via pre-orders or Letters of Intent for future functionality. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will introduce you to Currency Testing so you can confidently validate whether customers will pay you enough for you to achieve Product-Market Fit.
                  +
                  +

                  Found in FOCUS Workbook 3...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Have you defined a metric that represents when you have acheived Product-Market Fit?

                  +
                  +
                  +
                    +
                  • No21
                  • +

                    +
                  • Yes9
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Customers are actively trying to solve a problem your product will solve for them. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Finding Early Adopters for your product.
                  +
                  Your Next Step: Interview customers to determine what problems they are actively trying to solve. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: Understand who your Early Adopters are, and where to find them, by contrasting their behavior with your Early Majority, Late Majority, etc.

                  Use this information + to make your interviews easier and faster to get.
                  +
                  +

                  Found in FOCUS Workbook 1...

                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Why aren't customers using your product?

                  +
                  +
                  +
                    +
                  • I'm not sure how/where to find customers to tell about it8
                  • +

                    +
                  • I've told them about it, but they don't really use it11
                  • +

                    +
                  • Customers use it a little, but then they stop42
                  • +

                    +
                  +
                  +
                  +
                  +
                  +
                  + Your Riskiest Assumption: Your product solves your customers' problems. +
                  +
                  +
                  +
                  Product-Market Fit Phase: Utility Testing - You can Satisfy your Early Adopters.
                  +
                  Your Next Step: Test ways to increase the value your solution is providing to customers. +
                  +
                  + This will help... +
                  + +
                  +

                  Recommended FOCUS Exercise...

                  + +
                  +
                  Description: This exercise will provide four different techniques to increase your Customer Lifetime Value making it more likely you'll achieve Product-Market Fit..
                  +
                  +

                  Found in FOCUS Workbook 4...

                  + +
                  +
                  +
                  +
                  +
                  +
                  + + +
                  +
                  +
                  + +
                  +
                  + + + + +
                  +
                  +
                  +
                  +

                  Bonus #1

                  +
                  +
                  +
                  +

                  + FREE Customer Interview Email Course
                  +

                  +
                  + You'll learn... +
                    +
                  • Which customers to ask for interviews
                  • +
                  • A cold email script that works to get interviews
                  • +
                  • How to analyze your interview answers
                  • +
                  +
                  +
                  +
                  +
                  +

                  Bonus #2

                  +
                  +
                  +
                  +

                  FOCUS Framework

                  +

                  $20 Off Launch-Day Coupon

                  + +
                  + +
                  +
                  +

                  Crowdfunding on May 3rd

                  +
                  +
                  + +
                  + +
                  +
                  +
                  + +
                  +
                  + + + + +
                  +
                  + +
                  +
                  +

                  How likely would you be to recommend this workshop to a friend?

                  +
                  +
                  +
                  +
                  + + + + + + + + + + + +
                  +
                  +
                  + +
                  + +
                  +
                  +

                  What's one thing we can improve next time?

                  +
                  +
                  + +
                  +
                  + +
                  +
                  +

                  What was your favorite part of the workshop?

                  +
                  +
                  + +
                  + +
                  + +
                  +
                  +
                  +
                  +
                  +
                  +
                  + + +
                  + +
                  + + + + + + diff --git a/fiwest.js b/fiwest.js new file mode 100644 index 0000000..2ad3255 --- /dev/null +++ b/fiwest.js @@ -0,0 +1,1197 @@ +var firebaseRoot = "https://cdlwebshops.firebaseio.com"; + +var rootRef = new Firebase(firebaseRoot); +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); +var notesRef = new Firebase(firebaseRoot + "/notes"); + +var loggedInUserId; +var questionPad, responsePad; + +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +var publicChat; + +var firstName = null; +var studentNum = null; +var studentCampus = null; +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function init() { + firstName = getParameterByName('firstName'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null) { + initModal(); + return; + } + + // publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper"), { + // numMaxMessages: 101 + // }); + + // publicChat.maxLengthMessage = 1024; + // publicChat.numMaxMessages = 500; + // + // publicChat.on('room-enter', function() { + // stylizeChatRooms(); + // }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, false); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function() { + updateMyInfo($(this)); + }); + + keepTabsOnTabs(); + initEnrollForm(); + setupFeedbackForm(); + //setupInterviewScriptGenerator(); + //setupQuizzes(); + + setupiFrames(); + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupTextEditors() { + + tinymce.init({ + selector:'.text-editor', + menubar: false, + plugins: 'autoresize autosave', + autosave_interval: "2s", + setup : function(ed) { + ed.on('init', function() + { + this.getDoc().body.style.fontSize = '16px'; + this.getDoc().body.style.fontName = 'Lato'; + // ed.target.editorCommands.execCommand("fontSize", false, "2"); + // ed.target.editorCommands.execCommand("fontName", false, "Lato"); + }); + } + }); +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function() { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function() { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function(event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({email: $('#enrollEmail').val()}); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + exercisesRef.child("active").update({exercise: exerciseName}); + }); + + $(".showTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: true}); + }); + + $(".hideTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({show: false}); + }); + + $(".soloTabButton").click(function(obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each( function(index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({exercise: tabName.replace("Tab", '')}); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function(exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each( function(index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.uid).once('value', function(snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function(snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + studentNum: { + message: "That's not your student number", + validators: { + notEmpty: { + message: 'We need your student number' + }, + stringLength: { + min: 6, + max: 12, + message: 'We need a number between 6 and 12 digits' + } + } + }, + studentCampus: { + validators: { + notEmpty: { + message: 'Please select your campus.' + } + } + } + } + }); + + $( "#welcomeForm" ).submit(function(event) { + firstName = $("#attendeeName").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function() { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function enterRoomAfterUserSessionCreated(chatUI, roomId) { + const RETRY_IN = 500; + + if (chatUI._chat._sessionId == null) { + setTimeout(enterRoomAfterUserSessionCreated, RETRY_IN, chatUI, roomId); + return; + } + + console.log("About to enter room. Room: " + roomId); + chatUI._chat.enterRoom(roomId); +} + +function logInToChat(ref, chatUI, roomId, getPartner) { + ref.authAnonymously(function(error, authData) { + if (error) { + console.log("Login Failed!", error); + return; + } + + console.log("Authenticated successfully with payload: ", authData); + + var user = authData; + loggedInUserId = user.uid; + + user.firstName = firstName; + //chatUI.setUser(user.uid, firstName); + + //enterRoomAfterUserSessionCreated(chatUI, roomId); + + setupTextEditors(); + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.uid; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function(snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
                • "); + var divmediabody = $("
                  "); + var divmedia = $("
                  "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": "+ voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
                  "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
                  " + userNameElement + "
                  " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-warning'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-primary'); + } + else { + divmediabody2.addClass('this-class-does-not-exist'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + }); +} + +// var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { +// if (user) { +// loggedInUserId = user.uid; +// +// user.firstName = firstName; +// chatUI.setUser(user.uid, firstName); +// +// if (roomId != null) { +// setTimeout(function() { +// console.log("About to enter room. User: " + JSON.stringify(user) + ". Room: " + roomId); +// chatUI._chat.enterRoom(roomId); +// }, 500); +// } +// +// if (getPartner) { +// searchForPartner(user); +// } +// +// authUserName = firstName; +// fbid = user.uid; +// +// // simple should see all of the questions, everyone else should only see the unhidden ones +// var startAtNum = isSimpleMode() ? -1000000 : 1; +// +// // Add a callback that is triggered for each chat question. +// questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { +// questionList.empty(); +// +// var activeQuestion; +// +// allQuestionsSnapshot.forEach(function(snapshot) { +// +// //GET DATA +// var questionId = snapshot.key(); +// var data = snapshot.val(); +// var fbid_d = data.fbid; +// var username_d = data.name; +// var question_d = data.text; +// var date_d = data.currentdate; +// var votes_d = data.votes; +// +// divdir = ""; +// +// //CREATE ELEMENTS question & SANITIZE TEXT +// var questionElement = $("
                • "); +// var divmediabody = $("
                  "); +// var divmedia = $("
                  "); +// +// var voteLink; +// var userAskedQuestion = fbid_d == fbid; +// +// if (isSimpleMode()) { +// var answerText = data.isActive ? "Unanswer" : "Answer"; +// var hideText = data.votes <= 0 ? "Show" : "Hide"; +// +// voteLink = "" + answerText + " " + hideText + ""; +// } +// else if (userAskedQuestion) { +// // This user submitted the question +// voteLink = "Delete"; +// } +// else { +// var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; +// voteLink = "" + voteText + ""; +// } +// +// var voteCount = data.votes ? data.votes : 1; +// var votesElement = "" + voteLink + ": "+ voteCount + ""; +// var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; +// var dateElement = " " + date_d + ""; +// +// var divmediabody2 = $("
                  "); +// questionElement.append(divmediabody); +// divmediabody.append(divmedia); +// //divmedia.append(a); +// //divmedia.append(votesElement); +// divmedia.append(divmediabody2); +// +// var usernamediv = $(""); +// divmediabody2.html(question_d); +// +// divmediabody2.append(usernamediv); +// usernamediv.html("
                  " + userNameElement + "
                  " + votesElement); +// +// //ADD question +// if (data.isActive) { +// activeQuestion = questionElement; +// divmediabody2.addClass('bg-danger'); +// } +// else { +// if (userAskedQuestion) { +// divmediabody2.addClass('bg-success'); +// // divmediabody2.css('background', "#476982"); +// // usernamediv.css('color', "#CCC") +// } +// else if (data.votes > 0) { +// // divmediabody2.css('background', "#73B3D7"); +// divmediabody2.addClass('bg-info'); +// } +// else { +// divmediabody2.addClass('bg-warning'); +// } +// +// questionList.prepend(questionElement); +// } +// }); +// +// questionList.prepend(activeQuestion); +// }); +// +// } else { +// simpleLogin.login('anonymous', { +// rememberMe: true +// }); +// } +// }); +// } + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


                  You'll see what your partner types, as she/he does.


                  Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


                  (Delete this too :)" : ""); + + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                   
                  Note: your partner will be able to see your text as you type it.
                   
                  Try editing this text!
                   
                   
                  2. Secretly pick a company below to pitch:
                   

                  • AirBnB
                  • Pampers (diapers)
                  • Twitter
                  • Facebook
                  • Subway (sandwiches)
                  • Instagram
                  • Disney
                  • SnapChat
                  • Angry Birds (Rovio)
                  • RedBull
                   
                  3. Fill out the pitch template for the company you're pitching:
                   
                  - Problem:
                   
                   
                   
                  - Solution:
                   
                   
                   
                  - Market:
                   
                   
                   
                  - Business Model:
                   
                   
                   
                  -------------------------------------------------------
                   
                  4. Guess which company your partner is pitching:
                   
                   
                   
                  5. Which elements of your partner's pitch could be improved? 
                   
                   
                  " : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                   
                  Note: your partner will be able to see your text as you type it.
                   
                  Try editing this text!
                   
                   
                  2. Secretly pick a company below to pitch:
                   
                  • AirBnB
                  • Pampers (diapers)
                  • Twitter
                  • Facebook
                  • Subway (sandwiches)
                  • Instagram
                  • Disney
                  • SnapChat
                  • Angry Birds (Rovio)
                  • RedBull
                   
                  3. Fill out the pitch template for the company you're pitching:
                   
                  - Problem:
                   
                   
                   
                  - Solution:
                   
                   
                   
                  - Market:
                   
                   
                   
                  - Business Model:
                   
                   
                   
                  -------------------------------------------------------
                   
                  4. Guess which company your partner is pitching:
                   
                   
                   
                  5. Which elements of your partner's pitch could be improved? 
                   
                   
                  " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(useruser.uid, ""); + + attendeesRef.child(user.uid).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.uid).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.uid).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.uid; + user.responsesPad = "r-" + user.uid; + + // store my pad addresses + attendeesRef.child(user.uid).update(user); + + //loadFirepads(user, true); + + soloRef.on('child_changed', function(soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.uid) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.uid).remove(function(error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function(roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({"room": roomId}); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function(solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function(soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function(currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.uid.localeCompare(solo.id) < 0) { + partnership = user.uid + solo.id; + } + else { + partnership = solo.id + user.uid; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function(){confirmPartnershipAccepted(user)}, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function(partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.uid, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function(error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + //loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.uid).transaction(function(currentData) { + + // Always return null because we want off this list + return null; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.uid).once('value', function(attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.uid).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.uid); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function(error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function(attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.uid).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready( function() { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function(question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false}); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false}); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function(confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function(currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null){ + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function(error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} diff --git a/index.html b/index.html index be36e7b..133539f 100644 --- a/index.html +++ b/index.html @@ -75,7 +75,7 @@
                  + + + + + + \ No newline at end of file diff --git a/swtoronto.js b/swtoronto.js new file mode 100644 index 0000000..9250c44 --- /dev/null +++ b/swtoronto.js @@ -0,0 +1,1275 @@ +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +const DISPLAY_VIDEO = false; + +var firebaseRoot = "https://cdlwebshops.firebaseio.com/swtoronto"; + +var rootRef = new Firebase(firebaseRoot); +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var emailsRef = new Firebase(firebaseRoot + "/emails"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); +var notesRef = new Firebase(firebaseRoot + "/notes"); + +var loggedInUserId; +var questionPad, responsePad; + + +var publicChat; + +var firstName = null; +var emailAddress = null; + +var lastSoloPriority = 0; +var lastQuestionAnswered; + +function initScriptForm() { + + console.log("running init forms"); + + $('#scriptForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + scriptEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }).on('submit', function (event) { + + console.log("Submitted: " + event); + + if (event.isDefaultPrevented()) { + // handle the invalid form... + console.log("Error submitting form: " + event); + } else { + event.preventDefault(); + // everything looks good! + + var interviewType = $("input[type='radio'][name='interviewType']:checked"); + var scriptType = ""; + if (interviewType.length > 0) { + scriptType = interviewType.attr('id'); + } + + var urlStr = "https://script.google.com/macros/s/AKfycbyBwZkAPscgFmd6jDDRVPUiL02YgT0-vzsA4JTDFndD5ibXClU/exec?email=" + + encodeURIComponent($('#scriptEmail').val()) + + "&role=" + encodeURIComponent($('#customerRole').val()) + + "&context=" + encodeURIComponent($('#problemContext').val()) + + "&problem=" + encodeURIComponent($('#problem').val()) + + "&script=" + scriptType + + "&sendEmail=true"; + + console.log('Invoking: ' + urlStr); + + $.ajax({ + method: "GET", + url: urlStr + }); + + $('#scriptSuccessAlert').show(); + } + }); + +} + +function getEnrollees() { + enrolledRef.once('value', function (enrolledSnap) { + enrolledSnap.forEach(function (snapshot) { + console.log(snapshot.val().email); + }); + }); +} + +function init() { + firstName = getParameterByName('firstName'); + emailAddress = getParameterByName('attendeeEmail'); + + $('.carousel').carousel({ + interval: 5000 + }); + + if (firstName == null || attendeeEmail == null) { + initModal(); + return; + } + + // publicChat = new FirechatUI(publicChatRef, document.getElementById("public-firechat-wrapper"), { + // numMaxMessages: 101 + // }); + + // publicChat.maxLengthMessage = 1024; + // publicChat.numMaxMessages = 500; + // + // publicChat.on('room-enter', function() { + // stylizeChatRooms(); + // }); + + logInToChat(publicChatRef, publicChat, PUBLIC_CHAT_ROOM_ID, false); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function () { + updateMyInfo($(this)); + }); + + initScriptForm(); + + keepTabsOnTabs(); + initEnrollForm(); + setupFeedbackForm(); + //setupInterviewScriptGenerator(); + //setupQuizzes(); + + setupiFrames(); + + if (isWebViewerMode()) { + // load video stream + var youTubeIFrame = $('.youtube-iframe'); + youTubeIFrame.attr("src", youTubeIFrame.attr("data-youtube-src")); + } + else { + // get ride of video holder + $('.left-column .top-row').hide(); + $('.left-column .bottom-row').addClass("full-height").removeClass("bottom-row"); + } + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupTextEditors() { + + tinymce.init({ + selector: '.text-editor', + menubar: false, + plugins: 'autoresize autosave', + autosave_interval: "2s", + setup: function (ed) { + ed.on('init', function () { + this.getDoc().body.style.fontSize = '16px'; + this.getDoc().body.style.fontName = 'Lato'; + // ed.target.editorCommands.execCommand("fontSize", false, "2"); + // ed.target.editorCommands.execCommand("fontName", false, "Lato"); + }); + } + }); +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function () { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function () { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function (event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({ email: $('#enrollEmail').val() }); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function isWebViewerMode() { + return DISPLAY_VIDEO && !isSimpleMode() && document.URL.indexOf("vip.html") == -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: true }); + exercisesRef.child("active").update({ exercise: exerciseName }); + }); + + $(".showTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: true }); + }); + + $(".hideTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: false }); + }); + + $(".soloTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each(function (index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({ exercise: tabName.replace("Tab", '') }); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function (exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each(function (index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.uid).once('value', function (snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function (snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + attendeeEmail: { + message: "Hmm, something doesn't look right.", + validators: { + notEmpty: { + message: 'Please enter your email address' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#welcomeForm").submit(function (event) { + firstName = $("#attendeeName").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function () { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function enterRoomAfterUserSessionCreated(chatUI, roomId) { + const RETRY_IN = 500; + + if (chatUI._chat._sessionId == null) { + setTimeout(enterRoomAfterUserSessionCreated, RETRY_IN, chatUI, roomId); + return; + } + + console.log("About to enter room. Room: " + roomId); + chatUI._chat.enterRoom(roomId); +} + +function logInToChat(ref, chatUI, roomId, getPartner) { + ref.authAnonymously(function (error, authData) { + if (error) { + console.log("Login Failed!", error); + return; + } + + console.log("Authenticated successfully with payload: ", authData); + + var user = authData; + loggedInUserId = user.uid; + + user.firstName = firstName; + //chatUI.setUser(user.uid, firstName); + + //enterRoomAfterUserSessionCreated(chatUI, roomId); + + emailsRef.child(loggedInUserId).set({ email: emailAddress }); + $('#enrollEmail').val(emailAddress); + + + setupTextEditors(); + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.uid; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function (snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
                • "); + var divmediabody = $("
                  "); + var divmedia = $("
                  "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = "" + answerText + " " + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 1; + var votesElement = "" + voteLink + ": " + voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
                  "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
                  " + userNameElement + "
                  " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-warning'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-success'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-primary'); + } + else { + divmediabody2.addClass('this-class-does-not-exist'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); + }); +} + +// var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { +// if (user) { +// loggedInUserId = user.uid; +// +// user.firstName = firstName; +// chatUI.setUser(user.uid, firstName); +// +// if (roomId != null) { +// setTimeout(function() { +// console.log("About to enter room. User: " + JSON.stringify(user) + ". Room: " + roomId); +// chatUI._chat.enterRoom(roomId); +// }, 500); +// } +// +// if (getPartner) { +// searchForPartner(user); +// } +// +// authUserName = firstName; +// fbid = user.uid; +// +// // simple should see all of the questions, everyone else should only see the unhidden ones +// var startAtNum = isSimpleMode() ? -1000000 : 1; +// +// // Add a callback that is triggered for each chat question. +// questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { +// questionList.empty(); +// +// var activeQuestion; +// +// allQuestionsSnapshot.forEach(function(snapshot) { +// +// //GET DATA +// var questionId = snapshot.key(); +// var data = snapshot.val(); +// var fbid_d = data.fbid; +// var username_d = data.name; +// var question_d = data.text; +// var date_d = data.currentdate; +// var votes_d = data.votes; +// +// divdir = ""; +// +// //CREATE ELEMENTS question & SANITIZE TEXT +// var questionElement = $("
                • "); +// var divmediabody = $("
                  "); +// var divmedia = $("
                  "); +// +// var voteLink; +// var userAskedQuestion = fbid_d == fbid; +// +// if (isSimpleMode()) { +// var answerText = data.isActive ? "Unanswer" : "Answer"; +// var hideText = data.votes <= 0 ? "Show" : "Hide"; +// +// voteLink = "" + answerText + " " + hideText + ""; +// } +// else if (userAskedQuestion) { +// // This user submitted the question +// voteLink = "Delete"; +// } +// else { +// var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; +// voteLink = "" + voteText + ""; +// } +// +// var voteCount = data.votes ? data.votes : 1; +// var votesElement = "" + voteLink + ": "+ voteCount + ""; +// var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; +// var dateElement = " " + date_d + ""; +// +// var divmediabody2 = $("
                  "); +// questionElement.append(divmediabody); +// divmediabody.append(divmedia); +// //divmedia.append(a); +// //divmedia.append(votesElement); +// divmedia.append(divmediabody2); +// +// var usernamediv = $(""); +// divmediabody2.html(question_d); +// +// divmediabody2.append(usernamediv); +// usernamediv.html("
                  " + userNameElement + "
                  " + votesElement); +// +// //ADD question +// if (data.isActive) { +// activeQuestion = questionElement; +// divmediabody2.addClass('bg-danger'); +// } +// else { +// if (userAskedQuestion) { +// divmediabody2.addClass('bg-success'); +// // divmediabody2.css('background', "#476982"); +// // usernamediv.css('color', "#CCC") +// } +// else if (data.votes > 0) { +// // divmediabody2.css('background', "#73B3D7"); +// divmediabody2.addClass('bg-info'); +// } +// else { +// divmediabody2.addClass('bg-warning'); +// } +// +// questionList.prepend(questionElement); +// } +// }); +// +// questionList.prepend(activeQuestion); +// }); +// +// } else { +// simpleLogin.login('anonymous', { +// rememberMe: true +// }); +// } +// }); +// } + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


                  You'll see what your partner types, as she/he does.


                  Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


                  (Delete this too :)" : ""); + + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                   
                  Note: your partner will be able to see your text as you type it.
                   
                  Try editing this text!
                   
                   
                  2. Secretly pick a company below to pitch:
                   

                  • AirBnB
                  • Pampers (diapers)
                  • Twitter
                  • Facebook
                  • Subway (sandwiches)
                  • Instagram
                  • Disney
                  • SnapChat
                  • Angry Birds (Rovio)
                  • RedBull
                   
                  3. Fill out the pitch template for the company you're pitching:
                   
                  - Problem:
                   
                   
                   
                  - Solution:
                   
                   
                   
                  - Market:
                   
                   
                   
                  - Business Model:
                   
                   
                   
                  -------------------------------------------------------
                   
                  4. Guess which company your partner is pitching:
                   
                   
                   
                  5. Which elements of your partner's pitch could be improved? 
                   
                   
                  " : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                   
                  Note: your partner will be able to see your text as you type it.
                   
                  Try editing this text!
                   
                   
                  2. Secretly pick a company below to pitch:
                   
                  • AirBnB
                  • Pampers (diapers)
                  • Twitter
                  • Facebook
                  • Subway (sandwiches)
                  • Instagram
                  • Disney
                  • SnapChat
                  • Angry Birds (Rovio)
                  • RedBull
                   
                  3. Fill out the pitch template for the company you're pitching:
                   
                  - Problem:
                   
                   
                   
                  - Solution:
                   
                   
                   
                  - Market:
                   
                   
                   
                  - Business Model:
                   
                   
                   
                  -------------------------------------------------------
                   
                  4. Guess which company your partner is pitching:
                   
                   
                   
                  5. Which elements of your partner's pitch could be improved? 
                   
                   
                  " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(useruser.uid, ""); + + attendeesRef.child(user.uid).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function (partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.uid).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.uid).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.uid; + user.responsesPad = "r-" + user.uid; + + // store my pad addresses + attendeesRef.child(user.uid).update(user); + + //loadFirepads(user, true); + + soloRef.on('child_changed', function (soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.uid) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.uid).remove(function (error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function (roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({ "room": roomId }); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function (solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function (soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function (currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.uid.localeCompare(solo.id) < 0) { + partnership = user.uid + solo.id; + } + else { + partnership = solo.id + user.uid; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function () { confirmPartnershipAccepted(user) }, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function (partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.uid, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function (error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + //loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.uid).transaction(function (currentData) { + + // Always return null because we want off this list + return null; + + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.uid).once('value', function (attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.uid).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.uid); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function (attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function (error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function (attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.uid).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +$(document).ready(function () { + init(); +}); + +function hideQuestion(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function (question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + question.votes = question.votes * -1; + question.isActive = 0; + return question; + }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false }); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false }); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function (confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function (currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null) { + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: 1 }); + + $("#question-txt").val(''); + +} From 3156f4a287aa774a918709c5b1924e6569ee286e Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Sun, 24 Apr 2016 15:24:56 -0700 Subject: [PATCH 044/148] Not requiring email address --- fiwest.html | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++- fiwest.js | 2 +- 2 files changed, 155 insertions(+), 4 deletions(-) diff --git a/fiwest.html b/fiwest.html index 1610340..1b9688a 100644 --- a/fiwest.html +++ b/fiwest.html @@ -2,7 +2,7 @@ - Webshops: Better Online Learning | Customer Development Labs + How to Find Product-Market Fit | Justin Wilcox @@ -68,8 +68,8 @@
                • Declaring Victory
                • PMF Assessment
                • Your Early Adopters
                • +
                • Interview Script Generator
                • Bonuses
                • Feedback
                • @@ -1758,6 +1759,156 @@

                  +
                  + + + + +
                  +
                  +
                  + + [raw]You're ready to interview customers, but you want some help figuring out... +

                  What Should you Ask?

                  +This interview script generator will get you started, including... +
                    +
                  • A well-tested 5-question interview script, customized for your interviews.
                  • +
                  • Hints about what to listen for during your interviews.
                  • +
                  • 6 bonus questions you can ask to fill in any blanks.
                  • +
                  +[/raw] +

                  Here's an example:

                  +  + +
                  Custom Interview Script: Page 1Custom Interview Script: Page 2Custom Interview Script: Page 3 + +  +

                  Use this template...

                  +
                    +
                  • As a starting point. Add & edit questions as necessary.
                  • +
                  • As a place to store the notes from your interviews.
                  • +
                  • To share with your teammates so you're all asking the same questions.
                  • +
                  +

                  Let's Create your Script

                  +Fill out each of the fields below then click Generate Script. +[raw] + +
                  +
                  +
                  +
                  +
                  +

                  Interview Script Generator

                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  +
                  +
                  +
                  [/raw] +

                  How to Use this Script

                  +For more information on conducting interviews, check out my blog post, which also includes the video lesson below. + +
                  + +  + +
                  +[youtube=http://www.youtube.com/watch?v=RNwX0-KJfeo&w=800] + + +
                  +
                  +

                  + +
                  diff --git a/fiwest.js b/fiwest.js index 33ae2f0..58b2527 100644 --- a/fiwest.js +++ b/fiwest.js @@ -42,7 +42,7 @@ function init() { interval: 5000 }); - if (firstName == null || attendeeEmail == null) { + if (firstName == null /*|| attendeeEmail == null*/) { initModal(); return; } From f34af46f16ada468e3d5e11c161f7218b209df57 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Sun, 24 Apr 2016 15:29:09 -0700 Subject: [PATCH 045/148] Remove script interview tool --- fiwest.html | 150 ---------------------------------------------------- 1 file changed, 150 deletions(-) diff --git a/fiwest.html b/fiwest.html index 1b9688a..ccfe6f8 100644 --- a/fiwest.html +++ b/fiwest.html @@ -184,7 +184,6 @@

                  Value:

                • Declaring Victory
                • PMF Assessment
                • Your Early Adopters
                • -
                • Interview Script Generator
                • Bonuses
                • Feedback
                • @@ -1759,155 +1758,6 @@

                  -
                  - - - - -
                  -
                  -
                  - - [raw]You're ready to interview customers, but you want some help figuring out... -

                  What Should you Ask?

                  -This interview script generator will get you started, including... -
                    -
                  • A well-tested 5-question interview script, customized for your interviews.
                  • -
                  • Hints about what to listen for during your interviews.
                  • -
                  • 6 bonus questions you can ask to fill in any blanks.
                  • -
                  -[/raw] -

                  Here's an example:

                  -  - -
                  Custom Interview Script: Page 1Custom Interview Script: Page 2Custom Interview Script: Page 3 - -  -

                  Use this template...

                  -
                    -
                  • As a starting point. Add & edit questions as necessary.
                  • -
                  • As a place to store the notes from your interviews.
                  • -
                  • To share with your teammates so you're all asking the same questions.
                  • -
                  -

                  Let's Create your Script

                  -Fill out each of the fields below then click Generate Script. -[raw] - -
                  -
                  -
                  -
                  -
                  -

                  Interview Script Generator

                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  -
                  - -
                  -
                  -
                  -
                  [/raw] -

                  How to Use this Script

                  -For more information on conducting interviews, check out my blog post, which also includes the video lesson below. - -
                  - -  - -
                  -[youtube=http://www.youtube.com/watch?v=RNwX0-KJfeo&w=800] - - -
                  -
                  - -
                  From ead87bb2c323cd4549aa294cdc583f50906465e4 Mon Sep 17 00:00:00 2001 From: Justin Wilcox Date: Tue, 26 Apr 2016 00:27:19 -0700 Subject: [PATCH 046/148] Adding coming soon page --- fieast.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 fieast.html diff --git a/fieast.html b/fieast.html new file mode 100644 index 0000000..322b82a --- /dev/null +++ b/fieast.html @@ -0,0 +1,12 @@ + + + + + How to Find Product-Market Fit | Justin Wilcox + + + + +
                  + +
                  +
                  + +
                  +
                  +

                  Questions: Ask and up vote.

                  +
                  +
                  +
                    +
                    + +
                    + + + +
                    + + +
                    +
                    +
                    +
                    + +
                    + +
                    +
                    + + + + +
                    +
                    +
                    +
                    +

                    Welcome to How to Find Product-Market Fit!

                    You can take notes during the workshop here. +

                    +   +

                    5 Phases of Product-Market Fit

                    +

                    +
                      +
                    1. F
                    2. +
                    3. O
                    4. +
                    5. C
                    6. +
                    7. U
                    8. +
                    9. S
                    10. +
                    + +

                    Takeaways

                    +

                    +

                    - Declaring Victory: What's your Victory?

                    +

                    +   +

                    - Product-Market Fit Assessment:

                    +
                      +
                    • Phase are you in:
                    • +
                    • Riskiest Assumption:
                    • +
                    • Next step:
                    • +
                    +

                    +   + +

                    Where are your Early Adopters:

                    +

                    +
                    +
                    +
                    +
                    + +
                    +
                    + + + + +
                    +
                    +
                    + +
                    +
                    +
                    + +
                    + + +
                    +
                    + + + + + + + + + + + +
                    +
                    + +
                    + +
                    + +
                    +
                    + + + + +
                    + +
                    +
                    + + +
                    +
                    +
                    +
                    +
                    +
                    +
                    + + +
                    +
                    + +
                    +
                    +
                    +
                    +
                    + +
                    +
                    +
                    + +
                    + +
                    +
                    Defining Product-Market Fit
                    +
                    + Ready to define Product-Market Fit? +
                    +
                    + +
                    +
                    Declaring Victory Worksheet
                    +
                    + This worksheet will walk you through defining Product-Market Fit. +
                    +
                    + +
                    +
                    Today's Date
                    +
                      +
                    • +
                    +
                    + Start by writing in today's date in the field on the right.

                    +
                    +
                    + + + + + +
                    +
                    What's your Product?
                    +
                    +

                    Write in the product or service that you would like to build.

                    + +
                    +
                      +
                    • +
                    +
                    + +
                    +
                    Who's your Customer?
                    +
                    + Write in the customers or people whom you would like to serve.

                    +
                    +
                      +
                    • +
                    +
                    + +
                    +
                    Fold on the Dotted Line
                    +
                    + Click next to fold the worksheet on the dotted line over and Declare your Victory! +
                    +
                      +
                    +
                    + +
                    +
                    Your Promise
                    +
                    + Now that your worksheet is folded, you've revealed a new contract with yourself: +
                      +
                    1. Even if you never get to build your product and
                    2. +
                    3. Even if you are not able to help the people you want to help...
                    4. +
                    +
                    You are still going to achieve victory.
                    +
                    +
                      +
                    +
                    + + + +
                    +
                    Enter your Victory
                    +
                    +

                    Write in your measurable Victory metric.

                    + +
                    +
                      +
                    • +
                    • +
                    +
                    + +
                    +
                    Find your FOCUS
                    +
                    + Want Feedback?

                    + Type "Yes" if you'd like me to review your Victory.

                    + + Bonus: you'll also be helping others learn. +
                    +
                      + +
                    +
                    + +
                    +
                    What Emotions are you Seeking?
                    +
                    + Now that you know what your true victory will be, write in how you imagine it will feel to achieve.

                    + +
                    +
                      +
                    • +
                    +
                    + +
                    +
                    Make it Official
                    +
                    +

                    Congratulations! You have your victory.

                    + + + +
                    +
                      +
                    • +
                    +
                    + +
                    +
                    What are your Co-Founders' Victories?
                    +
                    + Ask your co-founder(s) to complete the exercise too - either now, or when they join your team.

                    + +
                    +
                    + + + +
                    +
                    Find your FOCUS
                    +
                    +

                    Congratulations, you've taken the most important step of your startup journey, you've Declared Victory + and in doing so, defined your Product-Market Fit. +

                    Write your Victory Declaration in your Notes tab!
                    + +
                    +
                    + +
                    + +
                    + +
                    +
                    + + + + +
                    +
                    +
                    + +
                    +
                    + + +
                    Your customer segment
                    +
                    Your customer's problem (in their words)
                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    1. +
                    2. +
                    3. +
                    4. +
                    5. +
                    +
                    +
                    1. +
                    2. +
                    3. +
                    4. +
                    5. +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +
                    + + + + +
                    +
                    +
                    + +
                    +

                    Product-Market Fit Assessment

                    This exercise will tell you: +
                      +
                    1. What phase of Product-Market Fit you're in
                    2. +
                    3. Your startup's "Riskiest Assumption"
                    4. +
                    5. Your next step to test that assumption
                    6. +
                    +

                    Just answer these questions...

                    +
                    + + +
                    + + +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    +
                    +
                    +

                    Have you launched your product?

                    +
                    +
                    +
                      +
                    • No30
                    • +

                      +
                    • Yes2
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Are customers paying for it?

                    +
                    +
                    +
                      +
                    • No23
                    • +

                      +
                    • Yes3
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Are enough customers paying for it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No5
                    • +

                      +
                    • Yes4
                    • +

                      +
                    • Not sure20
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Congrats! You're on the path to Product-Market + Fit. +
                    +
                    +
                    + Keep doing what you're doing! +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why aren't you on track to acheive Product-Market Fit?

                    +
                    +
                    +
                      +
                    • Not enough customers6
                    • +

                      +
                    • Customer Lifetime Value is too low16
                    • +

                      +
                    +
                    Not sure? Go with your gut. Eventually you'll test both.
                    +
                    +
                    +
                    +
                    +
                    +

                    Why don't you have enough customers?

                    +
                    +
                    +
                      +
                    • Having trouble finding them7
                    • +

                      +
                    • Conversion rate it too low10
                    • +

                      +
                    • Customer segment is too small14
                    • +

                      +
                    • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                    • +

                      +
                    +
                    Not sure? Starting at the top, pick the first answer you think could be the reason.
                    +
                    +
                    +
                    +
                    +
                    +

                    Where are you looking for customers?

                    +
                    +
                    +
                      +
                    • Places I think my customers are.8
                    • +

                      +
                    • Places customers have told me they are.9
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption is: You know where + your customers look for solutions to their problems. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Finding Early Adopters for + your product.
                    +
                    Your Your Next Step: Interview customers to validate + where they look for solutions.
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: Understand who your Early Adopters + are, and where to find them, by contrasting their behavior with your Early Majority, + Late Majority, etc.

                    Use this information to make your interviews easier and faster + to get.
                    +
                    +

                    Found in FOCUS Workbook 1...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Your marketing + channels can reach a sufficient number of customers for you to achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Offer Testing - You can + Reach your Early Adopters.
                    +
                    Your Next Step: Test alternative channels to determine + potential customer segment size.
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This spreadsheet will show you if your + segment is large enough for you to achieve Product-Market Fit based on real-world, bottoms-up, + data. + +

                    You'll also be able to estimate the size of your marketing channels, conversion rates, + and price points to determine the best approach for you to achieve Product-Market Fit. +
                    +
                    +

                    Found in FOCUS Workbook 2...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    What emotions are you evoking in your Call to Action?

                    +
                    +
                    +
                      +
                    • I'm not evoking emotions in my Call to Action11
                    • +

                      +
                    • Emotions I think my customers are experiencing12
                    • +

                      +
                    • Emotions my customers have told me they are experiencing13
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You understand + what your customers are trying to accomplish in their roles. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Finding Early Adopters for + your product.
                    +
                    Your Next Step: Interview your customers to understand + what problems they are actively trying to solve. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will help you brainstorm + specific groups of customers you can serve by focusing on their problems. + +

                    Everything is easier when you center your attention on your customer's problems: + asking for interviews, marketing, sales, product development, etc. Take this step now, + and you'll move much faster through the rest of your journey. +
                    +
                    +

                    Found in FOCUS Workbook 1...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You understand + your customer's emotional desires. +
                    +
                    +
                    +
                    Product-Market Fit Phase: .
                    +
                    Your Next Step: Interview your customers to understand + their emotional desires. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: Understand who your Early Adopters + are, and where to find them, by contrasting their behavior with your Early Majority, + Late Majority, etc.

                    Use this information to make your interviews easier and faster + to get.
                    +
                    +

                    Found in FOCUS Workbook 1...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Your marketing + copy reasonates emotionally with your customers. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Offer Testing - You can + Reach your Early Adopters.
                    +
                    Your Next Step: Test multiple versions of your marketing + copy/Call to Action. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will help you identify + the emotions your customers' emotions. + +

                    By identifying and addressing your customers' emotional needs, you'll significantly + increase your conversion rate. +
                    +
                    +

                    Found in FOCUS Workbook 2...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: There are large + enough customer segments for you to achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Scaling to Product-Market + Fit. +
                    +
                    Your Next Step: Identify, size and test related customer + segments. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will show you how to + transition from your Early Adopters to your Early Majority segment. + +

                    By acquiring secondary and tertiary segments you'll be able to accelerate your path + to Product-Market Fit. + +
                    +
                    +

                    Found in FOCUS Workbook 5...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Your solution + is solving your customer's problem well enough, and they are incentivized enough, to share + your product with others. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Utility Testing - You can + Satisfy your Early Adopters.
                    +
                    Your Next Step: Increase your Viral Coefficent (i.e. + K Factor). +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will help you brainstorm + and prioritize ways to increase the virality of your product.
                    +
                    +

                    Found in FOCUS Workbook 4...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why is your Customer Lifetime Value too low?

                    +
                    +
                    +
                      +
                    • Customer churn is too high (i.e. they cancel your service too soon)17
                    • +

                      +
                    • Price is too low18
                    • +

                      +
                    • Cost of customer acquisition is too high19
                    • +

                      +
                    +
                    Not sure? Starting at the top, pick the first answer you think could be the reason.
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Your solution + is solving your customer's problem well enough that they'll continue paying for it. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Utility Testing - You can + Satisfy your Early Adopters.
                    +
                    Your Next Step: Test ways to increase the value your + solution is providing to customers. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will provide four different + techniques to increase your Customer Lifetime Value making it more likely you'll achieve + Product-Market Fit..
                    +
                    +

                    Found in FOCUS Workbook 4...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Customers will + pay enough to solve their problem for you to achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Currency Testing - Your + Early Adopters will Pay you.
                    +
                    Your Next Step: Optimize your price via price testing. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: Whether you're B2B or B2C, this exercise + will show how to optimize your price - without upsetting your customers!
                    +
                    +

                    Found in FOCUS Workbook 3...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You can lower + your Cost of Customer acquisition such that you can achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Offer Testing: You can Reach + your Early Adopters.
                    +
                    Your Next Step: Test alternative channels to determine + your optimal acquisition ROI. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This spreadsheet will show you what + combination of marketing channels, price point, and conversion rates you'll need to acheive + in order to find Product-Market Fit. +
                    +
                    +

                    Found in FOCUS Workbook 2...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Have you defined a metric that represents when you have acheived Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No21
                    • +

                      +
                    • Yes22
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You know what + Product-Market Fit means for you and your team. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Finding Early Adopters for + your product.
                    +
                    Your Next Step: Define Product-Market Fit for you + and your team. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: You can't achieve Product-Market Fit + until you've defined it for you and your team. + +

                    This exercise will walk your entire team through the process of defining the most + important metric of your startup...what success looks like.
                    +
                    +

                    Found in FOCUS Workbook 1...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: The problem you're + solving will lead you on a path to Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Currency Testing - Your + Early Adopters will Pay you.
                    +
                    Your Next Step: Calculate your the size of this market + to determine if Product-Market Fit is achievable. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This spreadsheet will tell you how + large your segment has the potential to be and exactly what conversion rates you'll need + to achieve in order to find Product-Market Fit. +
                    +
                    +

                    Found in FOCUS Workbook 3...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Are customers using the product?

                    +
                    +
                    +
                      +
                    • No41
                    • +

                      +
                    • Yes24
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why aren't your customers paying to use your product?

                    +
                    +
                    +
                      +
                    • Product isn't high enough quality to charge yet (i.e. pilot phase, trialing, etc.)25
                    • +

                      +
                    • Going to monetize after reaching critical mass26
                    • +

                      +
                    • Pursuing a freemium model and haven't built paid features yet25
                    • +

                      +
                    • Tried charging but no one would pay10
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Customers will + pay you enough that you'll achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Currency Testing: Your Early + Adopters will Pay you.
                    +
                    Your Next Step: Charge customers via pre-orders or + Letters of Intent for future functionality. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: Whether you're B2B or B2C, this exercise + will show you how to pre-sell a solution to a problem - without deceiving or disappointing + your customers.
                    +
                    +

                    Found in FOCUS Workbook 3...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Are enough customers using it that, if you keep doing what you're doing, you'll achieve Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No28
                    • +

                      +
                    • Yes38
                    • +

                      +
                    • Not sure20
                    • +

                      +
                    +
                    +
                    +
                    + +
                    +
                    +
                    +

                    Why aren't enough customers using for you to achieve Product-Market Fit?

                    +
                    +
                    +
                      +
                    • Having trouble finding them7
                    • +

                      +
                    • Conversion rate it too low10
                    • +

                      +
                    • Customer segment is too small14
                    • +

                      +
                    • Customer aren't referring enough other customers (i.e. Viral Coefficient is too low)15
                    • +

                      +
                    +
                    Not sure? Starting at the top, pick the first answer you think could be the reason.
                    +
                    +
                    +
                    +
                    +
                    +

                    Have you defined a metric that represents when you have acheived Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No21
                    • +

                      +
                    • Yes22
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Have you generated any pre-sales or signed Letters of Intent?

                    +
                    +
                    +
                      +
                    • No35
                    • +

                      +
                    • Yes31
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Are enough customers pre-paying for it that, if you solve their problems, you'll achieve Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No5
                    • +

                      +
                    • Yes32
                    • +

                      +
                    • Not sure20
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why haven't you launched the product yet?

                    +
                    +
                    +
                      +
                    • No development team33
                    • +

                      +
                    • Solution is still under development33
                    • +

                      +
                    • Testing the solution privately before making it available publicly34
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You can solve + your customers' problems. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Utility Testing - You can + Satisfy your Early Adopters.
                    +
                    Your Next Step: Test a manual solution. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will walk you through + how to create a manual solution in the most efficient way possible.
                    +
                    +

                    Found in FOCUS Workbook 4...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: You can solve + your customers' problems at scale. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Scaling to Fit - You can + achieve Product-Market Fit.
                    +
                    Your Next Step: Test an automated solution. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will help you transition + from a manual solution to an automated one in the most efficient way possible.
                    +
                    +

                    Found in FOCUS Workbook 5...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Have you identified a problem at least 60% of your customers are actively trying to solve?

                    +
                    +
                    +
                      +
                    • No40
                    • +

                      +
                    • Yes36
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    If you solve the problem, will you achieve Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No5
                    • +

                      +
                    • Yes37
                    • +

                      +
                    • Not sure39
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why aren't you collecting pre-orders or Letters of Intent?

                    +
                    +
                    +
                      +
                    • Can't finding customers to pre-sell7
                    • +

                      +
                    • Don't know how38
                    • +

                      +
                    • Tried but no one bought10
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Customers will + pay you enough that you'll achieve Product-Market Fit. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Currency Testing - Your + Early Adopters will Pay you.
                    +
                    Your Next Step: Charge customers via pre-orders or + Letters of Intent for future functionality. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will introduce you to + Currency Testing so you can confidently validate whether customers will pay you enough + for you to achieve Product-Market Fit.
                    +
                    +

                    Found in FOCUS Workbook 3...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Have you defined a metric that represents when you have acheived Product-Market Fit?

                    +
                    +
                    +
                      +
                    • No21
                    • +

                      +
                    • Yes9
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Customers are + actively trying to solve a problem your product will solve for them. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Finding Early Adopters for + your product.
                    +
                    Your Next Step: Interview customers to determine what + problems they are actively trying to solve. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: Understand who your Early Adopters + are, and where to find them, by contrasting their behavior with your Early Majority, + Late Majority, etc.

                    Use this information to make your interviews easier and faster + to get.
                    +
                    +

                    Found in FOCUS Workbook 1...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    Why aren't customers using your product?

                    +
                    +
                    +
                      +
                    • I'm not sure how/where to find customers to tell about it8
                    • +

                      +
                    • I've told them about it, but they don't really use it11
                    • +

                      +
                    • Customers use it a little, but then they stop42
                    • +

                      +
                    +
                    +
                    +
                    +
                    +
                    + Your Riskiest Assumption: Your product solves + your customers' problems. +
                    +
                    +
                    +
                    Product-Market Fit Phase: Utility Testing - You can + Satisfy your Early Adopters.
                    +
                    Your Next Step: Test ways to increase the value your + solution is providing to customers. +
                    +
                    + This will help... +
                    + +
                    +

                    Recommended FOCUS Exercise...

                    + +
                    +
                    Description: This exercise will provide four different + techniques to increase your Customer Lifetime Value making it more likely you'll achieve + Product-Market Fit..
                    +
                    +

                    Found in FOCUS Workbook 4...

                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    +
                    + +
                    +
                    + + + + +
                    +
                    +
                    +
                    +

                    Bonus #1

                    +
                    +
                    +
                    +

                    + FREE Customer Interview Email Course
                    +

                    +
                    + You'll learn... +
                      +
                    • Which customers to ask for interviews
                    • +
                    • A cold email script that works to get interviews
                    • +
                    • How to analyze your interview answers
                    • +
                    +
                    +
                    +
                    +
                    +

                    Bonus #2

                    +
                    +
                    +
                    +

                    FOCUS Framework

                    +

                    $20 Off Launch-Day Coupon

                    + +
                    + +
                    +
                    +

                    Crowdfunding on May 3rd

                    +
                    +
                    + +
                    + +
                    +
                    +
                    + +
                    +
                    + + + + +
                    +
                    + +
                    +
                    +

                    How likely would you be to recommend this workshop to a friend?

                    +
                    +
                    +
                    +
                    + + + + + + + + + + + +
                    +
                    +
                    + +
                    + +
                    +
                    +

                    What's one thing we can improve next time?

                    +
                    +
                    + +
                    +
                    + +
                    +
                    +

                    What was your favorite part of the workshop?

                    +
                    +
                    + +
                    + +
                    + +
                    +
                    +
                    +
                    +
                    +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fieast.js b/fieast.js new file mode 100644 index 0000000..b877fb2 --- /dev/null +++ b/fieast.js @@ -0,0 +1,1583 @@ +//var app = angular.module('app', ['firebase']); +var firebaseRoot = "https://cdlwebshops.firebaseio.com/fiEast"; + +var rootRef = new Firebase(firebaseRoot); +var publicChatRef = new Firebase(firebaseRoot); +var firepadRef = new Firebase(firebaseRoot + "/firepads"); +var attendeesRef = new Firebase(firebaseRoot + "/attendees"); +var soloRef = new Firebase(firebaseRoot + "/solos"); +var partnershipsRef = new Firebase(firebaseRoot + "/partnerships"); +var questionsRef = new Firebase(firebaseRoot + "/questions"); +var meetPartnerRef = new Firebase(firebaseRoot + "/meetYourPartner"); +var exercisesRef = new Firebase(firebaseRoot + "/exercises"); +var enrolledRef = new Firebase(firebaseRoot + "/enrolled"); +var emailsRef = new Firebase(firebaseRoot + "/emails"); +var feedbackRef = new Firebase(firebaseRoot + "/feedback"); +var notesRef = new Firebase(firebaseRoot + "/notes"); +var declaringVictoryRef = new Firebase(firebaseRoot + "/exercises/declaringVictory/values"); +var PMFAssessmentRef = new Firebase(firebaseRoot + "/exercises/pmfAssessment/values"); + +var loggedInUserId; +var questionPad, responsePad; +var myPMFAssessmentRef; + +const PUBLIC_CHAT_ROOM_ID = '-JjXjD6_LIzT4f5DS9jP'; +const GET_PARTNER = false; + +var publicChat; + +var firstName = null; +var emailAddress = null; + +var lastSoloPriority = 0; +var lastQuestionAnswered; + +var app = angular.module('app', [ + 'ui.grid', + 'ui.grid.resizeColumns', + 'ui.grid.autoResize', + 'ui.grid.moveColumns', + 'ui.grid.saveState', + 'ngSanitize', + 'ui.bootstrap', + 'firebase']). + directive('contenteditable', ['$sce', function ($sce) { + return { + restrict: 'A', // only activate on element attribute + require: '?ngModel', // get a hold of NgModelController + link: function (scope, element, attrs, ngModel) { + if (!ngModel) return; // do nothing if no ng-model + + // Specify how UI should be updated + ngModel.$render = function () { + element.html($sce.getTrustedHtml(ngModel.$viewValue || '')); + }; + + // Listen for change events to enable binding + element.on('blur keyup change', function () { + scope.$evalAsync(read); + }); + read(); // initialize + + // Write data to the model + function read() { + var html = element.html(); + // When we clear the content editable the browser leaves a
                    behind + // If strip-br attribute is provided then we strip this out + if (attrs.stripBr && html == '
                    ') { + html = ''; + } + ngModel.$setViewValue(html); + } + } + }; + }]); + +app.controller('MainCtrl', ['$scope', '$firebaseArray', '$firebaseAuth', '$firebaseObject', 'uiGridConstants', function ($scope, $firebaseArray, $firebaseAuth, $firebaseObject, uiGridConstants) { + var vm = this; + + if (isSimpleMode()) { + var VictoryDeclarationFactory = $firebaseObject.$extend({ + // each time an update arrives from the server, apply the change locally + $$defaults: { + date: 'Write here', + step1: 'Write here', + step2: 'Write here', + number: '#', + things: 'things here', + emotion: 'Write here', + signature: 'Sign here', + optIn: 'Want Feedback?' + } + }); + + //var dataRef = new Firebase('https://itjustwerks.firebaseio.com/data/properties'); // jshint ignore:line + vm.properties = $firebaseArray(declaringVictoryRef); + vm.properties.$loaded().then(function () { + vm.gridOptions.data = vm.properties; + // vm.gridHeight = vm.getTableHeight(); + }); + + vm.giveFeedback = function (exercise) { + var victoryRef = declaringVictoryRef.child(exercise.$id); + + if (vm.feedbackObj) { + vm.feedbackObj.$destroy(); + } + + vm.feedbackObj = VictoryDeclarationFactory(victoryRef); + vm.feedbackObj.$bindTo($scope, "declaringVictoryFeedback"); + + //console.log(exercise); + // $state.transitionTo('club', { clubId: club.id }); + }; + + vm.gridOptions = { + columnDefs: [ + { + displayName: 'Help?', + field: 'optIn', + }, + { + displayName: 'Number', + field: 'number' + }, + { + displayName: 'Things', + field: 'things' + }, + { + displayName: 'Emotion', + field: 'emotion', + }, + { + displayName: 'Product', + field: 'step1', + }, + { + displayName: 'Customer', + field: 'step2', + }, + { + name: 'select', + displayName: 'Select', + cellTemplate: ' ', + width: 60, + enableSorting: false + } + ], + // enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER, + flatEntityAccess: true, + enableGridMenu: true, + enableFiltering: true, + onRegisterApi: function (gridApi) { + vm.gridApi = gridApi; + } + }; + } + + // $scope.giveFeedback = function(exercise) { + // console.log(exercise); + // // $state.transitionTo('club', { clubId: club.id }); + // }; + + // vm.getTableHeight = function () { + // var rowHeight = 33; + // var headerHeight = 33; + // var height = vm.gridOptions.data.length * rowHeight + headerHeight; + // if (height > window.innerHeight) { + // height = window.innerHeight - 250; + // } + // return { + // height: height + "px" + // }; + // }; + + + if (!initParameters()) { + initModal(); + return; + } + + var auth = $firebaseAuth(rootRef); + var dataFromAuth = auth.$getAuth(); + + if (!dataFromAuth) { + auth.$authAnonymously(); + } + + auth.$onAuth(function (authData) { + postAuthConfig(authData, publicChat, PUBLIC_CHAT_ROOM_ID, GET_PARTNER); + + // var VictoryDeclarationGridFactory = $firebaseArray.$extend({ + // // each time an update arrives from the server, apply the change locally + // columnDefs: [ + // { field: 'date', displayName: 'Id' }, + // { field: 'step1', displayName: 'Club Id', visible: false }, + // { field: 'step2', displayName: 'Club Name' }, + // { name: 'select', displayName: 'Select', cellTemplate: ' ' } + // ] + // }); + + var victoryRef = declaringVictoryRef.child(authData.uid); + var victorySyncObj = VictoryDeclarationFactory(victoryRef); + + victorySyncObj.$bindTo($scope, "declaringVictory"); + + // $scope.victoryDeclarations = { + // data: '$firebaseArray(declaringVictoryRef)', + // columnDefs: [ + // {field: 'date', displayName: 'Id'}, + // {field: 'step1', displayName: 'Club Id', visible: false}, + // {field: 'step2', displayName: 'Club Name'}, + // {name: 'select', displayName: 'Select', cellTemplate: ' '} + // ] + // }; + + // $scope.victoryDeclarations = { + // columnDefs: [ + // {field: 'date', displayName: 'Id'}, + // {field: 'step1', displayName: 'Club Id', visible: false}, + // {field: 'step2', displayName: 'Club Name'}, + // {name: 'select', displayName: 'Select', cellTemplate: ' '} + // ] + // }; + + // var vm = this; + + + // vm.gridOptions = { + // columnDefs: [ + // { + // displayName: 'PROS Number', + // field: 'date' + // }, + // { + // displayName: 'MLS Status', + // field: 'step1' + // }, + // { + // displayName: 'Deal Status', + // field: 'step2', + // enableColumnMenu: false, + // enableSorting: false + // } + // ], + // //enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER, + // flatEntityAccess: true, + // //rowHeight: '33', + // enableGridMenu: true, + // enableFiltering: true, + // onRegisterApi: function (gridApi) { + // vm.gridApi = gridApi; + // } + // }; + + + // //var dataRef = new Firebase('https://itjustwerks.firebaseio.com/data/properties'); // jshint ignore:line + // vm.properties = $firebaseArray(declaringVictoryRef); + // vm.properties.$loaded().then(function() { + // vm.gridOptions.data = vm.properties; + // }); + + + + // $scope.victoryDeclarations = { + // columnDefs: [ + // { field: 'date', displayName: 'Id' }, + // { field: 'step1', displayName: 'Club Id', visible: false }, + // { field: 'step2', displayName: 'Club Name' }, + // { name: 'select', displayName: 'Select', cellTemplate: ' ' } + // ] + // }; + + // var hope = $firebaseArray(declaringVictoryRef); + + // hope.$loaded().then(function () { + // $scope.victoryDeclarations.data = hope; + // }); + + // hope.columnDefs = [ + // {field: 'date', displayName: 'Id'}, + // {field: 'step1', displayName: 'Club Id', visible: false}, + // {field: 'step2', displayName: 'Club Name'}, + // {name: 'select', displayName: 'Select', cellTemplate: ' '} + // ]; + + //$scope.victoryDeclarations = hope; + }); +}]); + +function connectExercisesToFirebase(userId) { + myPMFAssessmentRef = PMFAssessmentRef.child(userId); + + if (isSimpleMode()) { + $('#refreshPMFChartsButton').show(); + + refreshPMFCharts(); + } +} + +function refreshPMFCharts() { + PMFAssessmentRef.once("value", function (data) { + populateChart(data.val()); + }); +} + +function populateChart(model, chartContainer, title) { + var countMap = {}; + var pathMap = {} + + for (value in model) { + var node = model[value]; + + if (countMap[node.currentPhase]) { + countMap[node.currentPhase].data += 1; + } + else { + countMap[node.currentPhase] = { + name: node.currentPhase, + data: 1 + }; + } + + if (pathMap[node.assessmentPath]) { + pathMap[node.assessmentPath].data += 1; + } + else { + pathMap[node.assessmentPath] = { + name: node.assessmentPath, + data: 1 + }; + } + } + + var phases = []; + var phaseCounts = []; + + for (key in Object.keys(countMap)) { + phases.push(countMap[Object.keys(countMap)[key]].name); + phaseCounts.push(countMap[Object.keys(countMap)[key]].data); + } + + var paths = []; + var pathCounts = []; + + for (key in Object.keys(pathMap)) { + paths.push(pathMap[Object.keys(pathMap)[key]].name); + pathCounts.push(pathMap[Object.keys(pathMap)[key]].data); + } + + $('#pmfPhaseChart').highcharts({ + chart: { type: 'column' }, + title: { text: 'Current Phase' }, + xAxis: { + categories: phases + }, + series: [{ + data: phaseCounts + }] + }); + + $('#pmfPathChart').highcharts({ + chart: { type: 'column' }, + title: { text: 'Popular Paths' }, + xAxis: { + categories: paths + }, + series: [{ + data: pathCounts + }] + }); +} + +function initParameters() { + firstName = getParameterByName('firstName'); + + return firstName != null; +} + +function getEnrollees() { + enrolledRef.once('value', function (enrolledSnap) { + enrolledSnap.forEach(function (snapshot) { + console.log(snapshot.val().email); + }); + }); +} + +function initUI() { + $('.carousel').carousel({ + interval: 5000 + }); + + // REGISTER DOM ELEMENTS + questionField = $('#question-txt'); + questionList = $('#example-questions'); + + // LISTEN FOR KEYPRESS EVENT + questionField.keypress(function (e) { + if (e.keyCode == 13) { + pushData(); + return false; + } + }); + + $("#btnSend").click(function () { + pushData(); + }); + + $("#newPartner").hide(); + $("#newPartner").click(function () { + leavePartnership(); + }); + + $('.meetYourPartnerMe').on("input", function () { + updateMyInfo($(this)); + }); + + keepTabsOnTabs(); + initEnrollForm(); + setupFeedbackForm(); + //setupInterviewScriptGenerator(); + //setupQuizzes(); + + setupiFrames(); + + if (isWebViewerMode()) { + // load video stream + var youTubeIFrame = $('.youtube-iframe'); + youTubeIFrame.attr("src", youTubeIFrame.attr("data-youtube-src")); + } + else { + // get ride of video holder + $('.left-column .top-row').hide(); + $('.left-column .bottom-row').addClass("full-height").removeClass("bottom-row"); + } + + if (isSimpleMode()) { + setupSimpleTabButtons(); + } +} + +function setupTextEditors() { + + tinymce.init({ + selector: '.text-editor', + menubar: false, + plugins: 'autoresize autosave', + autosave_interval: "2s", + setup: function (ed) { + ed.on('init', function () { + this.getDoc().body.style.fontSize = '16px'; + this.getDoc().body.style.fontName = 'Lato'; + // ed.target.editorCommands.execCommand("fontSize", false, "2"); + // ed.target.editorCommands.execCommand("fontName", false, "Lato"); + }); + } + }); +} + +function setupiFrames() { + $("iframe[data-src*='.']").each(function () { + $(this).attr('src', $(this).attr('data-src')); + }); +} + +function setupQuizzes() { + // personalize each of the google form quizzes to include the student's number + $("iframe[data-src*='[studentNum]']").each(function () { + $(this).attr('data-src', $(this).attr('data-src').replace('[studentNum]', studentNum).replace('[studentCampus]', studentCampus)); + }); +} + +function setupFeedbackForm() { + $('#feedbackTabContent .npsButtons button').click(function (e) { + $(this).addClass('active'); + $(this).siblings().removeClass('active'); + + feedbackRef.child(loggedInUserId).update({ nps: Number($(this).text()) }); + }); + + $('#submitFeedbackButton').click(function (e) { + feedbackRef.child(loggedInUserId).update({ + improve: $('#toImprove').val(), + favorite: $('#favoritePart').val(), + }); + + $('#feedbackSuccessAlert').show(); + }); +} + +function setupInterviewScriptGenerator() { + $("#customerRole").on("input", function () { + $(".insertCustomerRole").text($(this).val()); + }); + + $("#problemContext").on("input", function () { + $(".insertProblemContext").text($(this).val()); + }); +} + +function updateMyInfo(elem) { + updateMeetYourPartner(elem.attr('id'), elem.val()); +} + +function stylizeChatRooms() { + // There's no class that represents this, so each time we create/join a room + // we need to fix these elements + $("#firechat textarea").parent().css("position", "absolute"); + $("#firechat textarea").parent().css("bottom", "5px"); + $("#firechat textarea").parent().css("left", "11px"); + $("#firechat textarea").parent().css("right", "11px"); +} + +function initEnrollForm() { + $('#enrollForm').bootstrapValidator({ + message: 'This value is not valid', + fields: { + enrollEmail: { + message: "Hmm, something doesn't look right.", + validators: { + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#enrollForm").submit(function (event) { + event.preventDefault(); + + enrolledRef.child(loggedInUserId).set({ email: $('#enrollEmail').val() }); + $('#enrollSuccessAlert').show(); + }); +} + +function isSimpleMode() { + return document.URL.indexOf("simple.html") != -1; +} + +function isWebViewerMode() { + return !isSimpleMode() && document.URL.indexOf("vip.html") == -1; +} + +function getExerciseName(obj) { + return $(obj).parents(".tabContent").attr("id").replace('TabContent', ''); +} + +function setupSimpleTabButtons() { + $(".tabButtonGroup").show(); + + $(".activeTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: true }); + exercisesRef.child("active").update({ exercise: exerciseName }); + }); + + $(".showTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: true }); + }); + + $(".hideTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + exercisesRef.child(exerciseName).update({ show: false }); + }); + + $(".soloTabButton").click(function (obj) { + var exerciseName = getExerciseName(this); + + spotlightTab(exerciseName + "Tab"); + }); +} + +// Only used to initialize the exercises before a session. Not actively used during a session. +function setupExercisesBeforeSession() { + const DEFAULT_ACTIVE_TAB = "meetYourPartnerTab"; + + spotlightTab(DEFAULT_ACTIVE_TAB); +} + +function spotlightTab(tabName) { + var inactive = { + show: false + } + + var active = { + show: true + } + + // Set all tabs to inactive + $('.exerciseTabs > li > a').each(function (index) { + exercisesRef.child($(this).attr("id").replace("Tab", '')).set(inactive); + }); + + // Turn default tab on + exercisesRef.child(tabName.replace("Tab", '')).set(active); + exercisesRef.child("active").set({ exercise: tabName.replace("Tab", '') }); +} + +function keepTabsOnTabs() { + exercisesRef.on('value', function (exercisesSnap) { + var atLeastOneTabShown = false; + var exercises = exercisesSnap.val(); + + for (property in exercises) { + var exercise = $('#' + property + "Tab"); + + $('#' + property + "TabContent").find("button").removeClass('active'); + + if (exercise.length > 0) { + if (exercises[property] && exercises[property].show) { + atLeastOneTabShown = true; + + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".showTabButton").addClass("active"); + } + else { + exercise.show(); + } + } + else { + if (isSimpleMode()) { + $('#' + property + "TabContent").find(".hideTabButton").addClass("active"); + } + else { + exercise.hide(); + } + } + } + } + + if (exercises && exercises.active) { + setActiveExercise(exercises.active.exercise); + } + + if (!isSimpleMode()) { + atLeastOneTabShown ? $('.exercisesPanel').show() : $('.exercisesPanel').hide(); + } + }); + + // If we don't do this, the firepads show up blank, until they are clicked w/n + $('#liveInterviewTab').on('shown.bs.tab', function (e) { + questionPad.codeMirror_.refresh(); + responsePad.codeMirror_.refresh(); + }); +} + +function setActiveExercise(exercise) { + $('.exerciseTabs > li > a').each(function (index) { + $(this).removeClass('currentExercise'); + }); + + var toBeActive = $("#" + exercise + "Tab"); + + if (toBeActive.length > 0) { + toBeActive.addClass('currentExercise'); + + if (!isSimpleMode()) { + toBeActive.tab('show'); + } + } + + if (isSimpleMode()) { + $('#' + exercise + "TabContent").find(".activeTabButton").addClass("active"); + } +} + +function updateMeetYourPartner(field, value) { + var update = {}; + update[field] = value; + + meetPartnerRef.child(loggedInUserId).update(update); +} + +function getMeetYourPartnerUpdates(user) { + meetPartnerRef.child(user.uid).once('value', function (snap) { + console.log('updating my own partner details'); + + if (snap == null) { + console.log("I don't have any details yet."); + return; + } + + setPartnerDetails(snap.val(), true); + }); + + meetPartnerRef.child(user.lastPartner).on('value', function (snap) { + console.log('partner updated their details'); + + setPartnerDetails(snap.val(), false); + }); +} + +function setPartnerDetails(details, isMyDetails) { + var idQualifier = isMyDetails ? "" : "Partner"; + + for (property in details) { + var elem = $('#' + property + idQualifier); + + if (elem.is('a')) { + elem.attr("href", "http://" + details[property].replace("http://", '').replace("https://", '')); + elem.text(details[property]); + } + else if (elem.is('input')) { + elem.val(details[property]); + } + else { + elem.text(details[property]); + } + } +} + +function initModal() { + $('#welcomeForm').bootstrapValidator({ + message: 'This value is not valid', + feedbackIcons: { + valid: 'glyphicon glyphicon-ok', + invalid: 'glyphicon glyphicon-remove', + validating: 'glyphicon glyphicon-refresh' + }, + fields: { + firstName: { + message: "That's not your name", + validators: { + notEmpty: { + message: 'We need your name' + }, + stringLength: { + min: 2, + max: 20, + message: 'We can do names between 2 and 20 characters' + } + } + }, + attendeeEmail: { + message: "Hmm, something doesn't look right.", + validators: { + notEmpty: { + message: 'Please enter your email address' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + } + }); + + $("#welcomeForm").submit(function (event) { + firstName = $("#attendeeName").val(); + }); + + $('#welcomeModal').modal({ + keyboard: false, + backdrop: 'static' + }); +} + +function initPad(url, div, msg) { + // Create CodeMirror (with lineWrapping on). + var codeMirror = CodeMirror(document.getElementById(div), { lineWrapping: true }); + + var firepad = Firepad.fromCodeMirror(firepadRef.child(url), codeMirror, + { richTextToolbar: false, richTextShortcuts: true }); + + firepad.on('ready', function () { + if (firepad.isHistoryEmpty()) { + firepad.setHtml(msg); + } + }); + + return firepad; +} + +function enterRoomAfterUserSessionCreated(chatUI, roomId) { + const RETRY_IN = 500; + + if (chatUI._chat._sessionId == null) { + setTimeout(enterRoomAfterUserSessionCreated, RETRY_IN, chatUI, roomId); + return; + } + + console.log("About to enter room. Room: " + roomId); + chatUI._chat.enterRoom(roomId); +} + +function postAuthConfig(authData, chatUI, roomId, getPartner) { + console.log("Authenticated successfully with payload: ", authData); + + var user = authData; + + loggedInUserId = user.uid; + user.firstName = firstName; + //chatUI.setUser(user.uid, firstName); + //enterRoomAfterUserSessionCreated(chatUI, roomId); + + connectExercisesToFirebase(loggedInUserId); + + emailsRef.child(loggedInUserId).set({ name: firstName }); + + setupTextEditors(); + + if (getPartner) { + searchForPartner(user); + } + + authUserName = firstName; + fbid = user.uid; + + // simple should see all of the questions, everyone else should only see the unhidden ones + var startAtNum = isSimpleMode() ? -1000000 : 1; + + // Add a callback that is triggered for each chat question. + questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { + questionList.empty(); + + var activeQuestion; + + allQuestionsSnapshot.forEach(function (snapshot) { + + //GET DATA + var questionId = snapshot.key(); + var data = snapshot.val(); + var fbid_d = data.fbid; + var username_d = data.name; + var question_d = data.text; + var date_d = data.currentdate; + var votes_d = data.votes; + + divdir = ""; + + //CREATE ELEMENTS question & SANITIZE TEXT + var questionElement = $("
                  • "); + var divmediabody = $("
                    "); + var divmedia = $("
                    "); + + var voteLink; + var userAskedQuestion = fbid_d == fbid; + + if (isSimpleMode()) { + var answerText = data.isActive ? "Unanswer" : "Answer"; + var hideText = data.votes <= 0 ? "Show" : "Hide"; + + voteLink = + "Top | " + + "Middle | " + + "" + answerText + " | " + + "" + hideText + ""; + } + else if (userAskedQuestion) { + // This user submitted the question + voteLink = "Delete"; + } + else { + var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; + voteLink = "" + voteText + ""; + } + + var voteCount = data.votes ? data.votes : 0; + var votesElement = "" + voteLink + ": " + voteCount + ""; + var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; + var dateElement = " " + date_d + ""; + + var divmediabody2 = $("
                    "); + questionElement.append(divmediabody); + divmediabody.append(divmedia); + //divmedia.append(a); + //divmedia.append(votesElement); + divmedia.append(divmediabody2); + + var usernamediv = $(""); + divmediabody2.html(question_d); + + divmediabody2.append(usernamediv); + usernamediv.html("
                    " + userNameElement + "
                    " + votesElement); + + //ADD question + if (data.isActive) { + activeQuestion = questionElement; + divmediabody2.addClass('bg-warning'); + } + else { + if (userAskedQuestion) { + divmediabody2.addClass('bg-info'); + // divmediabody2.css('background', "#476982"); + // usernamediv.css('color', "#CCC") + } + else if (data.votes > 0) { + // divmediabody2.css('background', "#73B3D7"); + divmediabody2.addClass('bg-primary'); + } + else { + divmediabody2.addClass('this-class-does-not-exist'); + } + + questionList.prepend(questionElement); + } + }); + + questionList.prepend(activeQuestion); + }); +} + +function logInToChat(ref, chatUI, roomId, getPartner) { + var dataFromAuth = ref.getAuth(); + + if (dataFromAuth) { + postAuthConfig(dataFromAuth, chatUI, roomId, getPartner); + return; + } + + ref.authAnonymously(function (error, authData) { + if (error) { + console.log("Login Failed!", error); + return; + } + + postAuthConfig(authData, chatUI, roomId, getPartner); + + }); +} + +// var simpleLogin = new FirebaseSimpleLogin(chatRef, function(err, user) { +// if (user) { +// loggedInUserId = user.uid; +// +// user.firstName = firstName; +// chatUI.setUser(user.uid, firstName); +// +// if (roomId != null) { +// setTimeout(function() { +// console.log("About to enter room. User: " + JSON.stringify(user) + ". Room: " + roomId); +// chatUI._chat.enterRoom(roomId); +// }, 500); +// } +// +// if (getPartner) { +// searchForPartner(user); +// } +// +// authUserName = firstName; +// fbid = user.uid; +// +// // simple should see all of the questions, everyone else should only see the unhidden ones +// var startAtNum = isSimpleMode() ? -1000000 : 1; +// +// // Add a callback that is triggered for each chat question. +// questionsRef.orderByChild('votes').startAt(startAtNum).on('value', function (allQuestionsSnapshot) { +// questionList.empty(); +// +// var activeQuestion; +// +// allQuestionsSnapshot.forEach(function(snapshot) { +// +// //GET DATA +// var questionId = snapshot.key(); +// var data = snapshot.val(); +// var fbid_d = data.fbid; +// var username_d = data.name; +// var question_d = data.text; +// var date_d = data.currentdate; +// var votes_d = data.votes; +// +// divdir = ""; +// +// //CREATE ELEMENTS question & SANITIZE TEXT +// var questionElement = $("
                  • "); +// var divmediabody = $("
                    "); +// var divmedia = $("
                    "); +// +// var voteLink; +// var userAskedQuestion = fbid_d == fbid; +// +// if (isSimpleMode()) { +// var answerText = data.isActive ? "Unanswer" : "Answer"; +// var hideText = data.votes <= 0 ? "Show" : "Hide"; +// +// voteLink = "" + answerText + " " + hideText + ""; +// } +// else if (userAskedQuestion) { +// // This user submitted the question +// voteLink = "Delete"; +// } +// else { +// var voteText = data.voters && data.voters.hasOwnProperty(fbid) ? "Down Vote" : "Up Vote"; +// voteLink = "" + voteText + ""; +// } +// +// var voteCount = data.votes ? data.votes : 1; +// var votesElement = "" + voteLink + ": "+ voteCount + ""; +// var userNameElement = " " + (userAskedQuestion ? "You" : username_d) + ""; +// var dateElement = " " + date_d + ""; +// +// var divmediabody2 = $("
                    "); +// questionElement.append(divmediabody); +// divmediabody.append(divmedia); +// //divmedia.append(a); +// //divmedia.append(votesElement); +// divmedia.append(divmediabody2); +// +// var usernamediv = $(""); +// divmediabody2.html(question_d); +// +// divmediabody2.append(usernamediv); +// usernamediv.html("
                    " + userNameElement + "
                    " + votesElement); +// +// //ADD question +// if (data.isActive) { +// activeQuestion = questionElement; +// divmediabody2.addClass('bg-danger'); +// } +// else { +// if (userAskedQuestion) { +// divmediabody2.addClass('bg-success'); +// // divmediabody2.css('background', "#476982"); +// // usernamediv.css('color', "#CCC") +// } +// else if (data.votes > 0) { +// // divmediabody2.css('background', "#73B3D7"); +// divmediabody2.addClass('bg-info'); +// } +// else { +// divmediabody2.addClass('bg-warning'); +// } +// +// questionList.prepend(questionElement); +// } +// }); +// +// questionList.prepend(activeQuestion); +// }); +// +// } else { +// simpleLogin.login('anonymous', { +// rememberMe: true +// }); +// } +// }); +// } + +function loadFirepads(user, addDefaultText) { + // questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "Work with your partner to record the questions Justin asks during the customer interview here!


                    You'll see what your partner types, as she/he does.


                    Delete this intro once you and your partner have read it." : ""); + // responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "Work with your partner to take extensive notes on the customer's resposes.


                    (Delete this too :)" : ""); + + questionPad = initPad(user.questionsPad, 'questionsPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                     
                    Note: your partner will be able to see your text as you type it.
                     
                    Try editing this text!
                     
                     
                    2. Secretly pick a company below to pitch:
                     

                    • AirBnB
                    • Pampers (diapers)
                    • Twitter
                    • Facebook
                    • Subway (sandwiches)
                    • Instagram
                    • Disney
                    • SnapChat
                    • Angry Birds (Rovio)
                    • RedBull
                     
                    3. Fill out the pitch template for the company you're pitching:
                     
                    - Problem:
                     
                     
                     
                    - Solution:
                     
                     
                     
                    - Market:
                     
                     
                     
                    - Business Model:
                     
                     
                     
                    -------------------------------------------------------
                     
                    4. Guess which company your partner is pitching:
                     
                     
                     
                    5. Which elements of your partner's pitch could be improved? 
                     
                     
                    " : ""); + responsePad = initPad(user.responsesPad, 'responsesPad', addDefaultText ? "1. Decide which partner will be on the left, and which will be on the right.
                     
                    Note: your partner will be able to see your text as you type it.
                     
                    Try editing this text!
                     
                     
                    2. Secretly pick a company below to pitch:
                     
                    • AirBnB
                    • Pampers (diapers)
                    • Twitter
                    • Facebook
                    • Subway (sandwiches)
                    • Instagram
                    • Disney
                    • SnapChat
                    • Angry Birds (Rovio)
                    • RedBull
                     
                    3. Fill out the pitch template for the company you're pitching:
                     
                    - Problem:
                     
                     
                     
                    - Solution:
                     
                     
                     
                    - Market:
                     
                     
                     
                    - Business Model:
                     
                     
                     
                    -------------------------------------------------------
                     
                    4. Guess which company your partner is pitching:
                     
                     
                     
                    5. Which elements of your partner's pitch could be improved? 
                     
                     
                    " : ""); +} + +function unloadFirepads() { + console.log("unloading firepads"); + + $('#responsesPad').hide().attr('id', 'oldResponsesPad').clone().show().attr('id', 'responsesPad').html('').appendTo("#responsesContainer"); + $('#questionsPad').hide().attr('id', 'oldQuestionsPad').clone().show().attr('id', 'questionsPad').html('').appendTo("#questionsContainer"); + + try { + questionPad.dispose(); + } catch (exc) { + console.log("Error disposing question pad: " + exc.message); + } + + try { + responsePad.dispose(); + } catch (exc) { + console.log("Error disposing response pad: " + exc.message); + } + + $('#oldQuestionsPad').remove(); + $('#oldResponsesPad').remove(); +} + +function joinPartnership(user, partnership) { + user.partnership = partnership; + user.lastPartner = partnership.replace(useruser.uid, ""); + + attendeesRef.child(user.uid).update(user); + + leavePrivateChatRooms(); + + // join chat room + partnershipsRef.child(partnership).on('value', function (partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Partnership is null. Request to be terminated."); + forgetPartnership(false); + $("#partnerName").html("Your partner isn't available. Let's find another for you!"); + + return; + } + else if (part.room != null) { + console.log("Entering our partner chat room: " + part.room); + publicChat._chat.enterRoom(part.room); + + user.partnerChatRoom = part.room; + attendeesRef.child(user.uid).update(user); + } + }); + + soloRef.off('child_changed'); + + // intro partners + $("#partnerName").html("Say hi to your workshop partner, !"); + $('.partnerName').text(user.partnerName); + $("#newPartner").show(); + + getMeetYourPartnerUpdates(user); +} + +function lookingForPartnerUI() { + $("#partnerName").html("Looking for a partner for you..."); + $("#newPartner").hide(); +} + +function joinSoloList(user) { + soloRef.child(user.uid).setWithPriority(user, new Date().getTime()); + console.log("Added myself to the solo list."); + + lookingForPartnerUI(); + + // since I'm the first to the meeting, use my id to key the firepads + // my partner will hook into these pads + user.questionsPad = "q-" + user.uid; + user.responsesPad = "r-" + user.uid; + + // store my pad addresses + attendeesRef.child(user.uid).update(user); + + //loadFirepads(user, true); + + soloRef.on('child_changed', function (soloSnap) { + var solo = soloSnap.val(); + + if (solo.id != user.uid) { + console.log("Someone else's solo changed"); + return; + } + + console.log("Our solo changed..."); + + if (solo.partnership == null) { + console.log("but no one added a partnership. Not sure what's up."); + } + else { + console.log("and we have a new partnership!"); + + soloRef.child(user.uid).remove(function (error) { + if (error) { + console.log("Error removing myself from the solo list", error); + } + else { + console.log("Successfully removed myself from the solo list", error); + } + }); + + user.partnerName = solo.partnerName; + user.partnership = solo.partnership; + + publicChat._chat.createRoom("Private: " + user.firstName + " and " + user.partnerName, 'private', function (roomId) { + console.log('Created our partnership chat room'); + partnershipsRef.child(solo.partnership).set({ "room": roomId }); + + user.partnerChatRoom = roomId; + joinPartnership(user, solo.partnership); + }); + } + }); +} + +function searchForNextSolo(user, attemptNum) { + // There were solos available, but we had a conflict trying to partner with one + // Wait a bit and try again + var MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO = 100; + var attempt = attemptNum == null ? 0 : attemptNum; + + if (attempt >= MAX_ATTEMPTS_TO_SEARCH_FOR_ANOTHER_SOLO) { + console.log("Exceeded max # of attempts to find a partner on the solo list. Skipping the solo search"); + + joinSoloList(user); + } + else { + setTimeout(partnerWithFirstSolo(user, ++attempt), 500); + return; + } +} + +function partnerWithFirstSolo(user, attemptNum) { + if (attemptNum != null) { + console.log("This is attempt #" + (attemptNum + 1) + " to find a partner on the solo list."); + } + + var firstSolo = soloRef.startAt(lastSoloPriority + 1).limit(1); + + firstSolo.once('value', function (solosSnap) { + // Are there any solos? + + var solos = solosSnap.val(); + + if (solos == null) { + console.log('There are no available solos.'); + joinSoloList(user); + return; + } + + firstSolo.once('child_added', function (soloSnap) { + // iterate the solos + var solo = soloSnap.val(); + + lastSoloPriority = soloSnap.getPriority(); + + if (solo.id == user.lastPartner) { + console.log("Found potential partner, but I just left a partnership with them. Skipping."); + + searchForNextSolo(user, attemptNum); + return; + } + + soloRef.child(solo.id).transaction(function (currentData) { + if (currentData == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (currentData.partnership == null) { + // let's make a baby! + var partnership; + + if (user.uid.localeCompare(solo.id) < 0) { + partnership = user.uid + solo.id; + } + else { + partnership = solo.id + user.uid; + } + + user.partnership = partnership; + user.partnerName = currentData.firstName; + user.questionsPad = "q-" + solo.id; + user.responsesPad = "r-" + solo.id; + + currentData.partnership = partnership; + currentData.partnerName = user.firstName; + + return currentData; + } + + // user already has a partnership, let's get out of here + // not returning anything so we can retry on the solo list + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("This solo is no longer solo!"); + + searchForNextSolo(user, attemptNum); + } + else { + console.log('Successfully claimed this solo'); + + // Wait for potential partner to confirm our hookup + setTimeout(function () { confirmPartnershipAccepted(user) }, 3000); + } + }, true); + }); + + }); +} + +function confirmPartnershipAccepted(user) { + partnershipsRef.child(user.partnership).once('value', function (partSnap) { + var part = partSnap.val(); + + if (part == null) { + console.log("Potential parternship didn't consummate the partnership."); + + var flakySolo = user.partnership.replace(user.uid, ""); + + clearPartnerFromUser(user); + + console.log("Removing flaky partner from solo list: " + flakySolo); + soloRef.child(flakySolo).remove(function (error) { + if (error) { + console.log('Error removing flaky solo: ' + error); + } else { + console.log('Flaky solo removed. Looking for another partner.'); + searchForSolos(user); + } + }); + + return; + } + + //loadFirepads(user, false); + joinPartnership(user, user.partnership); + }); +} + +function searchForSolos(user) { + // Make sure we're not on the solo list + soloRef.child(user.uid).transaction(function (currentData) { + + // Always return null because we want off this list + return null; + + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + return; + } + else if (!committed) { + console.log("I wasn't on the solo list. Proceed as planned."); + } + else { + console.log('Successfully removed myself from the solo list'); + } + + lastSoloPriority = 0; + partnerWithFirstSolo(user); + }, true); +} + +function checkAttendeeList(user) { + attendeesRef.child(user.uid).once('value', function (attendeeSnap) { + var attendee = attendeeSnap.val(); + + if (attendee == null) { + console.log("I am not on the attendee list. Let's add me!"); + + attendeesRef.child(user.uid).set(user); + } + else if (attendee.partnership != null) { + console.log("I already have a partnership: " + attendee.partnership); + + partnerFound = true; + loadFirepads(attendee); + joinPartnership(attendee, attendee.partnership); + return; + } + else { + console.log("I am an attendee without a partnership"); + } + + searchForSolos(user); + }); +} + +function searchForPartner(user) { + console.log("My user id is: " + user.uid); + + checkAttendeeList(user); +} + +function getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results == null ? null : decodeURIComponent(results[1].replace(/\+/g, " ")); +} + +function leavePartnership() { + console.log("Request to leave partnership."); + + if (loggedInUserId == null) { + console.log("User isn't logged in."); + return; + } + + attendeesRef.child(loggedInUserId).once('value', function (attendeeSnap) { + var user = attendeeSnap.val(); + + if (user.partnership == null) { + console.log("User doesn't have a partnership to leave. Partner already left."); + searchForSolos(user); + } + else { + console.log("This user is requesting to leave partnership."); + lookingForPartnerUI(); + + var partnership = user.partnership; + + partnershipsRef.child(user.partnership).off('value'); + + partnershipsRef.child(partnership).remove(function (error) { + if (error) { + console.log('Error removing partnership: ' + error); + } else { + console.log('Partnership removed.'); + + forgetPartnership(true); + } + }); + } + }); +} + +function clearPartnerFromUser(user) { + user.partnership = null; + user.partnerName = null; + user.questionsPad = null; + user.responsesPad = null; + user.partnerChatRoom = null; + + clearMeetYourPartner(); +} + +function clearMeetYourPartner() { + $(".partnerData").text(''); +} + +function leavePrivateChatRooms() { + // Leave all non-public chat rooms. Sometimes we weren't leaving chat rooms, some sort of race condition + // having to do with getting new partners. + var rooms = publicChat._chat._rooms; + for (var key in rooms) { + if (rooms.hasOwnProperty(key) && key != PUBLIC_CHAT_ROOM_ID) { + publicChat._chat.leaveRoom(key); + } + } + // if (user.partnerChatRoom) { + // publicChat._chat.leaveRoom(user.partnerChatRoom); + // } +} + +function forgetPartnership(searchForPartnerImmediately) { + console.log("Forgetting my partnership."); + + attendeesRef.child(loggedInUserId).once('value', function (attendeeSnap) { + var user = attendeeSnap.val(); + + leavePrivateChatRooms(); + clearPartnerFromUser(user); + unloadFirepads(); + + attendeesRef.child(user.uid).update(user); + + if (searchForPartnerImmediately) { + // Need to search for new partner only after we clean up our partner data + // because the partner data is how we determine if we should remove a solo from the solo list + searchForSolos(user); + } + }); +} + +/* Questions */ +var fbid = ''; +var divdir = ''; +var questionField; +var questionList; +var lastfid = '1'; +var lastdir = 'L'; +var newdir = 'L'; +var authUserName = ''; + +const DEFAULT_QUESTION_VOTES = 0; +const MIDDLE_OF_LIST_VOTES = 50; +const TOP_OF_LIST_VOTES = 100; + +$(document).ready(function () { + initUI(); +}); + +function toggleQuestionVisibility(questionId) { + var elem = $("#q-" + questionId + "-hide"); + var amHiding = elem.text().toLowerCase() == "hide"; + + questionsRef.child(questionId).transaction(function (question) { + if (question == null) { + // This is just an inconsistent state. Keep going. + return null; + } + + if (question.votes == 0) { + question.votes = 1; + } + else { + question.votes = question.votes * -1; + question.isActive = 0; + } + + return question; + }); +} + +function moveQuestionToMiddle(questionId) { + var elem = $("#q-" + questionId); + + questionsRef.child(questionId).update({ votes: MIDDLE_OF_LIST_VOTES }); +} + +function moveQuestionToTop(questionId) { + var elem = $("#q-" + questionId); + + questionsRef.child(questionId).update({ votes: TOP_OF_LIST_VOTES }); +} + +function answerQuestion(questionId) { + var elem = $("#q-" + questionId); + var amAnswering = elem.text().toLowerCase() == "answer"; + + if (amAnswering) { + if (lastQuestionAnswered) { + questionsRef.child(lastQuestionAnswered).update({ isActive: false }); + } + + lastQuestionAnswered = questionId; + questionsRef.child(questionId).update({ isActive: true }); + } + else { + questionsRef.child(questionId).update({ isActive: false }); + + lastQuestionAnswered = null; + } +} + +function deleteQuestion(questionId) { + bootbox.confirm("Are you sure?", function (confirmed) { + if (confirmed) { + questionsRef.child(questionId).remove(); + } + }); +} + +function toggleVote(questionId) { + questionsRef.child(questionId).transaction(function (currentData) { + var question = $('#q-' + questionId); + + if (currentData.votes == null) { + currentData.votes = 1; + } + + if (currentData.voters && currentData.voters.hasOwnProperty(fbid)) { + delete currentData.voters[fbid]; + + currentData.votes--; + } + else if (currentData.voters == null) { + var newVoter = {}; + newVoter[fbid] = true; + + currentData.voters = newVoter; + + currentData.votes++; + } + else { + currentData.voters[fbid] = true; + currentData.votes++; + } + + return currentData; + + }, function (error, committed, snapshot) { + if (error != null) { + console.log('Transaction failed abnormally!', error); + } + else if (!committed) { + console.log("Transaction was aborted by us."); + } + else { + console.log('Successfully voted'); + } + }, true); +} + +function pushData() { + + //FIELD VALUES + var username = authUserName; + var question = $("#question-txt").val(); + //Clientside Datetime + var cdate = new Date(); + + //*********************************************************** + //Set current text question direction to push it to firebase. + //*********************************************************** + + var newQ = questionsRef.push({ name: username, text: question, fbid: fbid, currentdate: cdate.toLocaleString(), votes: DEFAULT_QUESTION_VOTES }); + + $("#question-txt").val(''); + +} diff --git a/simple.html b/simple.html index 4a6e6e4..e529d3a 100644 --- a/simple.html +++ b/simple.html @@ -1,15 +1,40 @@ - + - Webshops: Better Online Learning | Customer Development Labs + How to Find Product-Market Fit | Justin Wilcox + + + + + + + + + + + + @@ -42,17 +67,14 @@ - - - - - + + + - - + + type='text/css' /> @@ -63,14 +85,14 @@ +
                    +
                    + +
                    +
                    + + + + +
                    +
                    + +
                    +
                    +

                    How likely would you be to recommend this workshop to a friend?

                    +
                    +
                    +
                    +
                    + + + + + + + + + + + +
                    +
                    +
                    + +
                    + +
                    +
                    +

                    What's one thing we can improve next time?

                    +
                    +
                    + +
                    +
                    + +
                    +
                    +

                    What was your favorite part of the workshop?

                    +
                    +
                    + +
                    + +
                    + +
                    +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/simple.html b/simple.html index e529d3a..70cc08a 100644 --- a/simple.html +++ b/simple.html @@ -117,7 +117,7 @@