1(function(e){twentyc.editable={init:function(){this.initialized||(this.templates.init(),e(".editable.always").not(".auto-toggled").each(function(a){var b=e(this);b.find("[data-edit-type]").editable("filter",{belongs:b}).each(function(d){e(this).data("edit-always",!0);twentyc.editable.input.manage(e(this),b)})}),e("[data-edit-target]").editable(),e(twentyc.data).on("load",function(a,b){e('select[data-edit-data="'+b.id+'"]').each(function(d){e(this).data("edit-input").load(b.data)})}),e("[data-edit-module]").each(function(a){twentyc.editable.module.instantiate(e(this)).init()}), 2this.initialized=!0)}};twentyc.editable.error={humanize:function(a){switch(a){case "ValidationErrors":return gettext("Some of the fields contain invalid values - please correct and try again.");case "Http403":return gettext("Not Allowed");case "Http400":return gettext("Bad request");case "Http404":return gettext("Not found");case "Http413":return gettext("File too large");case "Http500":return gettext("Internal error");case "IgnoreError":return"";default:return gettext("Something went wrong.")}}}; 3twentyc.editable.action=new twentyc.cls.Registry;twentyc.editable.action.register("base",{name:function(){return this._meta.name},execute:function(a,b){this.trigger=a;this.container=b;this.loading_shim&&this.container.children(".editable.loading-shim").show()},signal_error:function(a,b){b={reason:b.type,info:b.info,data:b.data};a.trigger("action-error",b);a.trigger("action-error:"+this.name(),b);e(this).trigger("error",b);this.loading_shim&&this.container.children(".editable.loading-shim").hide()}, 4signal_success:function(a,b){a.trigger("action-success",b);a.trigger("action-success:"+this.name(),b);e(this).trigger("success",b);this.loading_shim&&this.container.children(".editable.loading-shim").hide()}});twentyc.editable.action.register("toggle-edit",{execute:function(a,b){this.base_execute(a,b);b.editable("toggle");b.trigger("action-success:toggle",{mode:b.data("edit-mode")})}},"base");twentyc.editable.action.register("reset",{execute:function(a,b){b.editable("reset");this.signal_success(b, 5{})}},"base");twentyc.editable.action.register("submit",{loading_shim:!0,execute:function(a,b){this.base_execute(a,b);var d=this,f=[],g=1,l=!1,q={},r,m=function(k,n,p){g--;p&&(l=!0);n&&e.extend(q,n);g||(l||d.noToggle||(b.trigger("action-success:toggle",{mode:"view"}),b.editable("toggle",{data:q})),b.editable("loading-shim","hide"))};try{var c=twentyc.editable.target.instantiate(b);var w=c.data._changed;e.extend(q,c.data);b.find("[data-edit-module]").each(function(k){k=twentyc.editable.module.instantiate(e(this)); 6k.has_action("submit")||(k.prepare(),k.pending_submit.length&&(g+=k.pending_submit.length,f.push([k,e(this)])))})}catch(k){if(k.type)return this.signal_error(b,k);throw k;}var u=b.editable("filter",{grouped:!0}).not("[data-edit-module]");u.each(function(k){k=twentyc.editable.target.instantiate(e(this));e.extend(q,k.data);k.data._changed&&(g+=1)});if(w||"yes"==b.data("edit-always-submit")||"yes"==b.data("edit-changed")){e(c).on("success",function(k,n){d.signal_success(b,n);b.data("edit-changed",null)}); 7e(c).on("error",function(k,n){d.signal_error(b,n);m({},{},!0)});e(c).on("success",m);var t=c.execute()}else m({},{});u.each(function(k){k=e(this);var n=new (twentyc.editable.action.get("submit"));n.noToggle=!0;e(n).on("success",m);e(n).on("error",function(){m({},{},!0)});n.execute(a,k)});for(r in f)e(f[r][0]).on("success",m),e(f[r][0]).on("error",function(){m({},{},!0)}),f[r][0].execute(a,f[r][1]);return t}},"base");twentyc.editable.action.register("module-action",{name:function(){return this.module._meta.name+ 8"."+this.actionName},execute:function(a,b,d,f){this.base_execute(d,f);this.module=a;this.actionName=b;a.action=this;e(a.target).on("success",function(g,l){a.action.signal_success(f,l);e(a).trigger("success",[l])});e(a.target).on("error",function(g,l){a.action.signal_error(f,l);e(a).trigger("error",[l])});try{this.module["execute_"+b](d,f)}catch(g){if(g.type)return this.signal_error(f,g);throw g;}}},"base");twentyc.editable.module=new twentyc.cls.Registry;twentyc.editable.module.instantiate=function(a){return new (this.get(a.data("edit-module")))(a)}; 9twentyc.editable.module.register("base",{init:function(){},has_action:function(a){return 0<this.container.find('[data-edit-action="'+a+'"]').length},base:function(a){var b=this.components={};a.find("[data-edit-component]").editable("filter",{belongs:a}).each(function(d){d=e(this);b[d.data("edit-component")]=d});this.container=a;a.data("edit-module-instance",this)},get_target:function(a){return twentyc.editable.target.instantiate(a||this.container)},execute:function(a,b){var d=a.data("edit-action"); 10this.trigger=a;this.target=twentyc.editable.target.instantiate(b);var f=new (twentyc.editable.action.get("module-action"));f.loading_shim=this.loading_shim;f.execute(this,d,a,b)},prepare:function(){this.prepared=!0},execute_submit:function(a,b){}});
10twentyc.editable.module.register("listing",{pending_submit:[],init:function(){if(this.components.add&&this.components.add.data("edit-template")){var a=twentyc.editable.templates.copy(this.components.add.data("edit-template"));this.components.add.prepend(a)}if(this.container.data("edit-always")){var b= 11this;this.container.on("listing:row-submit",function(){b.components.list.editable("accept-values")})}},prepare:function(){if(!this.prepared){var a=this.pending_submit=[],b=this;this.components.list.children().each(function(d){d=e(this);var f={};0!=d.find("[data-edit-type]").editable("filter","changed").editable("filter",{belongs:b.components.list},!0).length&&(d.find("[data-edit-type]").editable("filter",{belongs:b.components.list}).editable("export-fields",f),d.editable("collect-payload",f),a.push({row:d, 12data:f,id:d.data("edit-id")}))});this.base_prepare()}},row:function(a){return a.closest("[data-edit-id]").first()},row_id:function(a){return this.row(a).data("edit-id")},clear:function(){this.components.list.empty()},add:function(a,b,d,f){b=twentyc.editable.templates.copy(this.components.list.data("edit-template"));var g;b.attr("data-edit-id",a);b.data("edit-id",a);for(g in f)b.find('[data-edit-name="'+g+'"]').each(function(l){e(this).text(f[g]);e(this).data("edit-value",f[g])});b.appendTo(this.components.list); 13b.addClass("newrow");d.editable("sync");this.action&&this.action.signal_success(d,a);d.trigger("listing:row-add",[a,b,f,this]);this.components.list.scrollTop(function(){return this.scrollHeight});return b},remove:function(a,b,d,f){b.detach();this.action&&this.action.signal_success(f,a);f.trigger("listing:row-remove",[a,b,this])},submit:function(a,b,d,f,g){this.action&&this.action.signal_success(g,a);g.trigger("listing:row-submit",[a,d,b,this])},execute_submit:function(a,b){var d;this.prepare();if(this.pending_submit.length)for(d in this.pending_submit){var f= 14this.pending_submit[d];this.submit(f.id,f.data,f.row,a,b)}else this.action&&this.action.signal_success(b)},execute_add:function(a,b){var d={};this.components.add.editable("export",d);this.data=d;this.add(null,a,b,d)},execute_remove:function(a,b){var d=a.closest("[data-edit-id]").first();this.remove(d.data("edit-id"),d,a,b)}},"base");twentyc.editable.target=new twentyc.cls.Registry;twentyc.editable.target.error_handlers={};twentyc.editable.target.instantiate=function(a){var b=a.data("edit-target").split(":"); 15return new (twentyc.editable.target.has(b[0])?twentyc.editable.target.get(b[0]):twentyc.editable.target.get("XHRPost"))(b,a)};twentyc.editable.target.register("base",{base:function(a,b){this.args=a;this.label=this.args[0];this.sender=b;this.data={};b.editable("export",this.data)},data_clean:function(a){var b,d={};for(b in this.data){var f=this.data[b];if(!a||null!==f&&""!==f&&void 0!==f)a&&f&&f.join&&!f.length||"_"!=b.charAt(0)&&(d[b]=this.data[b])}return d},data_valid:function(){return this.data&& 16this.data._valid},execute:function(){}});twentyc.editable.target.register("XHRPost",{execute:function(a,b,d,f){var g=e(this),l=this.data;b&&(this.context=b);var q=this.context?this.context:this.sender;q&&q.editable("clear-error-popins");e.ajax({url:this.args[0]+(a?"/"+a:""),method:"POST",data:this.data_clean(this.data),success:function(r){l.xhr_response=r;g.trigger("success",l);d&&d(r,l);q&&q.data("edit-redirect-on-success")&&(window.document.location.href=q.data("edit-redirect-on-success"))}}).fail(function(r){twentyc.editable.target.error_handlers.http_json(r, 17g,q);f&&f(r)})}},"base");twentyc.editable.target.error_handlers.http_json=function(a,b,d){var f=[a.status+" "+a.statusText];if(400==a.status){var g,l,q;f=[gettext("The server rejected your data")];for(l in a.responseJSON)if(d.find('[data-edit-name="'+l+'"], [data-edit-error-field="'+l+'"]').each(function(r){if(r=e(this).data("edit-input-instance"))g=a.responseJSON[l],"object"==typeof g&&g.join&&(g=g.join(",")),r.show_validation_error(g)}),"non_field_errors"==l)for(q in a.responseJSON[l])f.push(a.responseJSON[l][q])}else if(429== 18a.status)f=["Too Many Requests",a.responseJSON.message];else if(403==a.status)f=["Forbidden",a.responseJSON.message];else if(a.responseJSON&&a.responseJSON.non_field_errors)for(q in f=[],a.responseJSON.non_field_errors)f.push(a.responseJSON.non_field_errors[q]);b.trigger("error",{type:"HTTPError",info:f.join("<br />")})};twentyc.editable.input=new (twentyc.cls.extend("InputRegistry",{frame:function(){return e('<div class="editable input-frame"></div>')},wire:function(a,b,d){var f=d.data("edit-enter-action");
19if(a.action_on_enter&&f)b.on("keydown",function(g){if(13==g.which){var l=new (twentyc.editable.action.get(f));setTimeout(()=>{l.execute(b,d)},100)}});a.element.focus(function(g){a.reset()});a.wire&&a.wire()},manage:function(a,b){var d=new (this.get(a.data("edit-type")));d.container=b;d.source=a;d.element=a;d.frame=this.frame();d.frame.insertBefore(a);d.frame.append(a);d.original_value=d.get();this.wire(d,d.element,b);a.data("edit-input-instance",d);return d},create:function(a,b,d){a=new (this.get(a)); 20a.source=b;a.container=d;a.element=a.make();a.frame=this.frame();a.frame.append(a.element);a.set(b.data("edit-value"));a.original_value=a.get();a.static_elements=b.find("[data-edit-static]");b.data().hasOwnProperty("editResetValue")?a.reset_value=b.data("edit-reset-value")||null:a.reset_value=a.original_value;a.placeholder?a.element.attr("placeholder",a.placeholder):a.source.data("edit-placeholder")&&a.element.attr("placeholder",a.source.data("edit-placeholder"));this.wire(a,a.element,d);return a}}, 21twentyc.cls.Registry));twentyc.editable.input.register("base",{action_on_enter:!1,set:function(a){void 0==a?this.element.val(this.source.text().trim()):this.element.val(a)},get:function(){return this.element.val()},changed:function(){return this.original_value!=this.get()},export:function(){return this.get()},make:function(){return e('<input type="text"></input>')},blank:function(){return""===this.element.val()},validate:function(){return!0},validation_message:function(){return gettext("Invalid value")}, 22required_message:function(){return gettext("Input required")},load:function(){},apply:function(a){if(this.source.data("edit-template")){var b=this.source.data("edit-template"),d=twentyc.editable.templates.get(b).clone(!0);if(this.template_handlers[b])this.template_handlers[b](a,d,this);this.source.empty().append(d)}else this.source.text(this.get()),this.source.data("edit-value",this.get()),this.static_elements&&this.static_elements.appendTo(this.source)},show_note:function(a,b){var d=e('<div class="editable input-note"></div>'); 23d.text(a);d.addClass(b);this.element.hasClass("input-note-relative")?d.insertAfter(this.element):d.insertBefore(this.element);return this.note=d},close_note:function(){this.note&&(this.note.detach(),this.note=null)},show_validation_error:function(a){this.show_note(a||this.validation_message(),"validation-error");this.element.addClass("validation-error")},reset:function(a){this.close_note();this.element.removeClass("validation-error");a&&(this.source.data("edit-value",this.reset_value),this.set(this.reset_value))}, 24template_handlers:{}});twentyc.editable.input.register("string",{action_on_enter:!0},"base");twentyc.editable.input.register("password",{make:function(){return e('<input type="password"></input>')},validate:function(){var a=this.source.data("edit-confirm-with");return a?this.container.find('[data-edit-name="'+a+'"]').data("edit-input-instance").get()==this.get():!0},validation_message:function(){return gettext("Needs to match password")}},"string");twentyc.editable.input.register("email",{placeholder:"[email protected]", 25validate:function(){return""===this.get()?!0:this.get().match(/@/)},validation_message:function(){return gettext("Needs to be a valid email address")},template_handlers:{link:function(a,b){b.attr("href","mailto:"+a).text(a)}}},"string");twentyc.editable.input.register("latitude",{validate:function(){return isFinite(this.element.val())&&90>=Math.abs(this.element.val())},validation_message:function(){return gettext("Needs to be a valid latitude")},get:function(){return parseFloat(this.element.val())|| 26null}},"string");twentyc.editable.input.register("longitude",{validate:function(){return isFinite(this.element.val())&&180>=Math.abs(this.element.val())},validation_message:function(){return gettext("Needs to be a valid longitude")},get:function(){return parseFloat(this.element.val())||null}},"string");twentyc.editable.input.register("url",{placeholder:"http://www.example.com",validate:function(){var a=this.get();if(""===a)return!0;a.match(/^[a-zA-Z]+:\/\/.+/)||(a="http://"+a,this.set(a));return a.match(/\s/)? 27!1:!0}
27,validation_message:function(){return gettext("Needs to be a valid url")},template_handlers:{link:function(a,b){b.attr("href",a).text(a)}}},"string");twentyc.editable.input.register("number",{validate:function(){return this.element.val().match(/^[\d\.,-]+$/)},validation_message:function(){return gettext("Needs to be a number")}},"string");twentyc.editable.input.register("bool",{value_to_label:function(){return this.element.prop("checked")?gettext("Yes"):gettext("No")},make:function(){return e('<input class="editable input-note-relative" type="checkbox"></input>')}, 28get:function(){return this.element.prop("checked")},set:function(a){1==a||"string"==typeof a&&"true"==a.toLowerCase()?this.element.prop("checked",!0):this.element.prop("checked",!1)},required_message:function(){return"Check required"},blank:function(){return 1!=this.get()},apply:function(a){this.source.data("edit-value",this.get());if(this.source.data("edit-template")){var b=this.source.data("edit-template"),d=twentyc.editable.templates.get(b).clone(!0);if(this.template_handlers[b])this.template_handlers[b](a, 29d,this);this.source.empty().append(d)}else this.source.text(this.value_to_label())}},"base");twentyc.editable.input.register("text",{make:function(){return e("<textarea></textarea>")}},"base");twentyc.editable.input.register("select",{make:function(){var a=e("<select></select>");"yes"==this.source.data("edit-multiple")&&a.prop("multiple",!0);this.source.data("edit-data")&&a.attr("data-edit-data",this.source.data("edit-data"));return a}
29,set:function(){var a,b=this;(a=this.source.data("edit-data"))&& 30twentyc.data.load(a,{callback:function(d){b.load(d.data);b.original_value=b.get()}})},value_to_label:function(){return e.map(this.element.children("option:selected"),function(a){return e(a).text()}).join(", ")},apply:function(a){this.source.data("edit-value",this.get());this.source.text(this.value_to_label())},add_opt:function(a,b){var d=e("<option></option>");d.val(a);d.text(b);b=""+this.source.data("edit-value");"yes"==this.source.data("edit-multiple")?b&&-1<e.inArray(""+a,b.split(","))&&d.prop("selected", 31!0):a==b&&d.prop("selected",!0);this.finalize_opt(d);this.element.append(d)},finalize_opt:function(a){return a},load:function(a){this.element.empty();if(this.source.data("edit-data-all-entry")){var b=this.source.data("edit-data-all-entry").split(":");this.add_opt(b[0],b[1])}else b=null;a=Object.values(a);"yes"==this.source.data("edit-sorted")&&a.sort((f,g)=>f.name.localeCompare(g.name));for(var d of a)b&&b[0]==d.id||this.add_opt(d.id,d.name);this.element.trigger("change")}},"base");twentyc.editable.templates= 32{_templates:{},register:function(a,b){if(this._templates[a])throw"Duplicate template id: "+a;this._templates[a]=b},get:function(a){if(!this._templates[a])throw"Tried to retrieve unknown template: "+a;return this._templates[a]},copy:function(a){return this.get(a).clone().attr("id",null)},copy_and_replace:function(a,b,d){var f;a=this.copy(a);for(f in b)a.find('[data-edit-name="'+f+'"]').each(function(){e(this).text(b[f]);d&&e(this).data("edit-value",b[f])});return a},init:function(){this.initialized|| 33(e("#editable-templates, .editable-templates").children().each(function(a){twentyc.editable.templates.register(this.id,e(this))}),this.initialized=!0)}};twentyc.editable.templates.register("link",e("<a></a>"));e.fn.editable=function(a,b,d){if("filter"==a){var f=[];if(b){d=0;var g=this.length;b.belongs&&(b.first_closest=["[data-edit-target], [data-edit-component]",b.belongs]);if(b.first_closest)for(;d<g;d++){var l=e(this[d]).parent().closest(b.first_closest[0]);l.length&&l.get(0)==b.first_closest[1].get(0)&& 34f.push(this[d])}else if(b.grouped)for(;d<g;d++){var q=e(this[d]);q.data("edit-group")||e("[data-edit-group]").each(function(m){e(e(this).data("edit-group")).get(0)==q.get(0)&&f.push(this)})}else if("changed"==b)for(;d<g;d++)q=e(this[d]),(l=q.data("edit-input-instance"))&&l.changed()&&f.push(this[d])}return this.pushStack(f)}if("export-fields"==a){var r={};b._valid=!0;this.each(function(m){try{e(this).editable("export",b)}catch(c){if("ValidationError"==c.type)r[c.field]=c.message,b._valid=!1;else throw c; 35}});b._validationErrors=r;if(!b._valid)throw{type:"ValidationErrors",data:b};}else"collect-payload"==a&&this.find(".payload").children("[data-edit-name]").each(function(m){m=e(this);b[m.data("edit-name")]=m.text().trim()});this.each(function(m){var c=e(this),w=null!=c.data("edit-target");m=null!=c.data("edit-component");var u=w||m,t=null!=c.data("edit-action");m=null!=c.data("edit-type");if(!a&&!c.data("edit-initialized")){c.data("edit-initialized",!0);if(w){c.hasClass("always")?(c.data("edit-mode", 36"edit"),c.data("edit-always",!0)):c.data("edit-mode","view");c.editable("sync");var k=e('<div class="editable popin error"><div class="main"></div><div class="extra"></div></div>');k.hide();c.prepend(k);c.data("edit-error-container",k);k=e('<div class="editable loading-shim"></div>');k.hide();c.prepend(k);c.data("edit-loading-shim",k);c.on("action-error",function(h,v){h=e(this).find(".editable.popin.error").editable("filter",{belongs:e(this)});h.find(".main").html(twentyc.editable.error.humanize(v.reason)); 37h.find(".extra").html(v.info||"");h.show();return!1})}if(t){c.data("edit-parent",b);k="click";if("bool"==c.data("edit-type")||"list"==c.data("edit-type")||"select"==c.data("edit-type"))k="change";c.on(k,function(){var h,v=e(this).data("edit-action"),x=e(this).closest("[data-edit-target]");x.data("edit-module")&&(h=twentyc.editable.module.instantiate(x));h||=new (twentyc.editable.action.get(v));h=h.execute(e(this),x);c.trigger("action:"+v,h)});c.data("edit-parent",b)}m&&c.data("edit-parent",b)}else if("reset"== 38a)c.find("[data-edit-type]").editable("filter",{belongs:c}).each(function(h){e(this).data("edit-input-instance").reset(!0)}),c.editable("filter",{grouped:!0}).not("[data-edit-module]").editable("reset"),c.find("[data-edit-module]").editable("filter",{belongs:c}).editable("reset"),c.find("[data-edit-component]").editable("filter",{belongs:c}).editable("reset");else if("sync"==a){var n=c.data("edit-mode")||"view";c.find("[data-edit-action]").filter("a, input, select").editable("filter",{belongs:c}).each(function(h){h= 39e(this);h.data("edit-parent")||h.editable(null,c)});c.find("[data-edit-type]").editable("filter",{belongs:c}).each(function(h){h=e(this);h.data("edit-parent")||h.editable(null,c);(h.data("edit-mode")||"view")!=n&&h.editable("toggle")});c.find("[data-edit-data]").editable("filter",{belongs:c}).each(function(h){h=e(this).data("edit-data");twentyc.data.load(h)});c.find("[data-edit-toggled]").editable("filter",{belongs:c}).each(function(h){h=e(this);h.data("edit-toggled")!=n?h.hide():h.show()});c.find("[data-edit-component]").editable("filter", 40{belongs:c}).each(function(){var h=e(this);h.data("edit-mode",n);h.editable("sync")})}
40else if("toggle"==a){if(n=c.data("edit-mode"),!c.hasClass("always")){if(u)"edit"==n?(c.find('[data-edit-toggled="edit"]').editable("filter",{belongs:c}).hide(),c.find('[data-edit-toggled="view"]').editable("filter",{belongs:c}).show(),n="view",c.removeClass("mode-edit"),b||c.trigger("edit-cancel")):(c.find('[data-edit-toggled="edit"]').editable("filter",{belongs:c}).show(),c.find('[data-edit-toggled="view"]').editable("filter", 41{belongs:c}).hide(),n="edit",c.addClass("mode-edit")),c.find(".editable.popin").editable("filter",{belongs:c}).hide(),c.find("[data-edit-type], [data-edit-component]").editable("filter",{belongs:c}).editable("toggle",b),c.editable("filter",{grouped:1}).each(function(h){e(this).editable("toggle",b)});else if(m){if(c.data("editAlways"))return;if("edit"==n){var p=c.data("edit-input-instance");p.reset();b&&!e.isEmptyObject(b.data)?p.apply(b.data[c.data("edit-name")]):c.html(c.data("edit-content-backup")); 42"autocomplete"===c.data("edit-type")&&"yes"===c.data("edit-keep-content")&&c.html(c.data("edit-content-backup"));c.data("edit-input-instance",null);n="view"}else p=twentyc.editable.input.create(c.data("edit-type"),c,c.closest("[data-edit-target]")),p.element.data("edit-input",p),p.element.data("edit-name",c.data("edit-name")),p.element.data("edit-type",c.data("edit-type")),p.element.addClass("editable "+c.data("edit-type")),c.data("edit-content-backup",c.html()),c.data("edit-input-instance",p),c.empty(), 43c.append(p.frame),n="edit"}c.data("edit-mode",n);c.trigger("toggle",[n])}}else if("loading-shim"==a){if("show"==b||"hide"==b)c.children(".editable.loading-shim")[b]()}else if("clear-error-popins"==a)c.find(".editable.popin").editable("filter",{belongs:c}).hide();else if("accept-values"==a)c.find("[data-edit-type]").editable("filter",{belongs:c}).each(function(){var h=e(this).data("edit-input-instance");h&&(h.original_value=h.get())});else if("payload"==a)for(k in m=c.children(".payload"),m.length|| 44(m=e("<div></div>"),m.addClass("editable"),m.addClass("payload"),c.prepend(m)),b)t=m.children('[data-edit-name="'+k+'"]'),t.length||(t=e("<div></div>"),t.attr("data-edit-name",k),m.append(t)),t.text(b[k]);else if("export"==a)if(u){if("edit"==c.data("edit-mode")||c.hasClass("always"))c.find("[data-edit-type]").editable("filter",{belongs:c}).editable("export-fields",b),void 0!=c.data("edit-id")&&(b._id=c.data("edit-id")),c.editable("collect-payload",b),c.trigger("export",[b])}else if(m&&(p=c.data("edit-input-instance"))){if("yes"== 45c.data("edit-required")&&p.blank())throw p.show_validation_error(p.required_message()),{type:"ValidationError",field:c.data("edit-name"),message:p.required_message()};if(!p.validate())throw p.show_validation_error(),{type:"ValidationError",field:c.data("edit-name"),message:p.validation_message()};b[c.data("edit-name")]=p.export();b._changed="undefined"==typeof b._changed?p.changed()?1:0:b._changed+(p.changed()?1:0)}})};e(document).ready(function(){twentyc.editable.init()})})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.