";if(view.columns){var url=http_prefix+(view.nindex_view?"/lua/pro/get_nindex_flows.lua":"/lua/pro/get_ts_table.lua");var columns=view.columns.map(function(col){return{title:col[1],field:col[0],css:{textAlign:col[2],width:col[3]},hidden:col[4]?true:false}});columns.push({title:i18n.actions,field:"drilldown",css:{width:"1%","white-space":"nowrap","text-align":"center"}});var old_dt=graph_table.data("datatable");if(old_dt&&old_dt.pendingRequest)old_dt.pendingRequest.abort();graph_table.removeData("datatable");graph_table.html("");graph_table.datatable({title:"",url:url,perPage:per_page,noResultsMessage:function(){if(ts_chart.queryWasAborted())return i18n.query_was_aborted;else return i18n.no_results_found},post:function(){var params=$.extend({},graph_params);delete params.ts_compare;delete params.initial_point;params.limit=1;params.detail_view=view.id;return params},loadingYOffset:40,columns:columns,buttons:view.nindex_view?[nindex_buttons]:[],tableCallback:function(){var data=this.resultset;ts_chart.tableRequestCompleted();if(!data){return}if(data.currentPage>1)graph_table.data("has_interaction",true);var stats_div=$("#chart1-flows-stats");var has_drilldown=data&&data.data.some(function(row){return row.drilldown});if(!has_drilldown)$("table td:last-child, th:last-child",graph_table).remove();if(data&&data.stats&&data.stats.loading_time){$("#flows-load-time").html(data.stats.loading_time);$("#flows-processed-records").html(data.stats.num_records_processed);stats_div.show()}else stats_div.hide()},rowCallback:function(row,row_data){if(typeof row_data.tags==="object"&&(params_obj.category&&row_data.tags.category===params_obj.category||params_obj.protocol&&row_data.tags.protocol===params_obj.protocol)){row.addClass("info")}return row}})}}function draw_processes_graph(http_prefix,graph_div_id,host){var links;var nodes={};var url=http_prefix+"/lua/get_processes_graph_data.lua?host="+host;d3.json(url,function(error,json){if(error)return console.warn(error);links=json;var _link;links.forEach(function(link){if(link.source_pid==-1){_link=http_prefix+"/lua/host_details.lua?host="+link.source}else{_link=http_prefix+"/lua/process_details.lua?pid="+link.source_pid+"&pid_name="+link.source_name+"&host="+host+"&page=flows"}link.source=nodes[link.source]||(nodes[link.source]={name:link.source_name,num:link.source,link:_link,type:link.source_type,pid:link.source_pid});if(link.target_pid==-1){_link=http_prefix+"/lua/host_details.lua?host="+link.target}else{_link=http_prefix+"/lua/process_details.lua?pid="+link.target_pid+"&pid_name="+link.target_name+"&host="+host+"&page=flows"}link.target=nodes[link.target]||(nodes[link.target]={name:link.target_name,num:link.target,link:_link,type:link.target_type,pid:link.target_pid})});var width=960,height=500,arrow_size=6;var color=d3.scale.category10();color["proc"]="red";color["host"]="lightsteelblue";var force=d3.layout.force().nodes(d3.values(nodes)).links(links).size([width,height]).linkDistance(120).charge(-400).on("tick",tick).start();var svg=d3.select("#"+graph_div_id).append("svg").attr("id","ebpf_graph").attr("width",width).attr("height",height);svg.append("defs").selectAll("marker").data(["proc2proc","proc2host","host2proc","host2host"]).enter().append("marker").attr("id",function(d){return d}).attr("viewBox","0 -5 10 10").attr("refX",15).attr("refY",-1.5).attr("markerWidth",arrow_size).attr("markerHeight",arrow_size).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5");var path=svg.append("g").selectAll("path").data(force.links()).enter().append("path").attr("class",function(d){return"link "+d.type}).attr("marker-end",function(d){return"url(#"+d.type+")"});var circle=svg.append("g").selectAll("circle").data(force.nodes()).enter().append("circle").attr("class","ebpf_circle").attr("r",8).style("fill",function(d){return color[d.type]}).call(force.drag).on("dblclick",function(d){window.location.href=d.link});var text=svg.append("g").selectAll("text").data(force.nodes()).enter().append("text").attr("class","ebpf_text").attr("x",12).attr("y",".31em").text(function(d){if(d.pid>=0)return d.name+" [pid: "+d.pid+"]";else{return d.name}});function tick(){path.attr("d",linkArc);circle.attr("transform",transform);text.attr("transform",transform)}function linkArc(d){var dx=d.target.x-d.source.x,dy=d.target.y-d.source.y,dr=Math.sqrt(dx*dx+dy*dy);return"M"+d.source.x+","+d.source.y+"A"+dr+","+dr+" 0 0,1 "+d.target.x+","+d.target.y}function transform(d){return"translate("+d.x+","+d.y+")"}})}function makeUniqueValidator(items_function){return function(field){var cmp_name=field.val();var count=0;if(!cmp_name)return true;items_function(field).each(function(){var name=$(this).val();if(name==cmp_name)count=count+1});return count==1}}function memberValueValidator(input){var member=input.val();if(member==="")return true;return is_mac_address(member)||is_network_mask(member,true)}function makePasswordPatternValidator(pattern){return function passwordPatternValidator(input){if(!input.val())return true;return $(input).val().match(pattern)}}function passwordMatchValidator(input){var other_input=$(input).closest("form").find("[data-passwordmatch]").not(input);if(!input.val()||!other_input.val())return true;return other_input.val()===input.val()}function poolnameValidator(input){if(!input.val())return true;return $(input).val().match(/^[a-z0-9_]*$/)}function passwordMatchRecheck(form){var items=$(form).find("[data-passwordmatch]");var not_empty=0;items.each(function(){if($(this).val()!="")not_empty++});if(not_empty==items.length)items.trigger("input")}function hostOrMacValidator(input){var host=input.val();if(host==="")return true;return is_mac_address(host)||is_good_ipv4(host)||is_good_ipv6(host)}function ipAddressValidator(input){var host=input.val();if(host==="")return true;return is_good_ipv4(host)||is_good_ipv6(host)}
//# sourceMappingURL=ntop.min.js.map
\ No newline at end of file
diff --git a/httpdocs/js/ntop.min.js.map b/httpdocs/js/ntop.min.js.map
index f61ba39f0a..346c4b6db0 100644
--- a/httpdocs/js/ntop.min.js.map
+++ b/httpdocs/js/ntop.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["datatable_utils.js","ays_utils.js","ntopng_utils.js","graph_utils.js","ebpf_utils.js","ntopng_validators.js"],"names":["datatableRemoveEmptyRow","table","$","remove","datatableAddEmptyRow","empty_str","columns","filter","this","css","length","html","datatableGetNumDisplayedItems","datatableIsEmpty","datatableGetByForm","form","parent","datatableUndoAddRow","new_row","bt_to_enable","callback_str","removeAttr","closest","aysUpdateForm","dt","window","datatableForEachRow","callbacks","each","row_i","bind","i","datatableAddButtonCallback","td_idx","label","bs_class","link","append","datatableAddDeleteButtonCallback","datatableAddActionButtonCallback","datatableAddLinkButtonCallback","datatableMakeSelectUnique","tr_obj","added_rows_prefix","options","paramsExtend","on_change","noop","selector_fn","obj","find","first","datatableForeachSelectOtherThan","this_select","callback","other","datatableOptionChangeStatus","option_obj","enable","select_obj","should_reset","val","attr","new_val","datatableOnSelectEntryChange","change_callback","old_value","new_value","others","push","datatableOnAddSelectEntry","trigger","new_sel","select","on","datatableOrderedInsert","to_insert","to_insert_val","cmp_fn","a","b","inserted","tr","cmp_val","parseInt","isNaN","before","datatableIsLastPage","lastpage","hasClass","datatableGetColumn","id_key","id_value","res","data","resultset","item","datatableGetColumnIndex","column_key","index","findIndex","field","datatableRefreshRows","column_id","$dt","rows","ids","id_to_row","row","data_id","url","params","custom_hosts","join","ajax","type","cache","success","result","row_idx","row_html","row_tds","key","col_idx","cell","aysHandleForm","form_selector","default_options","submit_selector","on_dirty_callback","on_clean_callback","handle_submit_buttons","handle_datatable","handle_tabs","disable_on_dirty","ays_options","o","extend","areYouSure","addClass","removeClass","aysResetForm","aysRecheckForm","aysGetDirty","fields_selector","getValue","$field","undefined","is","$option","isFieldDirty","origValue","curValue","dirty","l","dirty_status","input","NTOPNG_MIN_VISUAL_VALUE","is_good_ipv4","ipv4","test","is_good_ipv6","ipv6","isNumeric","value","is_mac_address","what","is_network_mask","optional_mask","elems","split","mask","ip_addr","address","fbits","bits","sizes","bits_log1000","Math","log","floor","round","pow","ret","parseFloat","toFixed","export_rate","eps","scaleValue","exports_format","exports","exports_label","i18n","toLowerCase","fbits_from_bytes","bytes","fpackets","pps","fpoints","fflows","fps","fmsgs","mps","falerts","aps","fint","x","toString","replace","ffloat","fpercent","fdate","when","epoch","d","Date","capitaliseFirstLetter","string","charAt","toUpperCase","slice","String","prototype","startsWith","indexOf","get_trend","actual","getOSIcon","name","icon","search","abbreviateString","str","len","substring","bytesToSize","precision","kilobyte","megabyte","gigabyte","terabyte","capitalizeSingleWord","uc","capitalize","drawTrend","current","last","withColor","toggleAllTabs","enabled","disableAllDropdownsAndTabs","prop","enableAllDropdownsAndTabs","s","addCommas","nStr","x1","x2","rgx","scale","formatValue","formatPackets","n","formatPoints","formatFlows","formatMessages","fmillis","bytesToVolume","bytesToVolumeAndLabel","bitsToSize","factor","secondsToTime","seconds","days","hours","minutes","sec","msg","msg_array","years","format","M+","getMonth","d+","getDate","h+","getHours","m+","getMinutes","s+","getSeconds","q+","S","getMilliseconds","RegExp","$1","getFullYear","substr","k","epoch2Seen","tdiff","getTime","graphGetXAxisTicksFormat","diff_epoch","tickFormat","defaults","override","paramsToForm","hasOwnProperty","appendTo","paramsPairsEncode","jQuery","fn","disable","state","$this","disabled","toggleClass","hostkey2hostInfo","host_key","info","hostinfo","handle_tab_state","nav_object","default_tab","click","e","preventDefault","id","target","history","replaceState","location","hash","tab","sformat","args","arguments","match","number","contains","_add_find_host_link","makeFindHostBeforeSubmitCallback","http_prefix","network","snmp_port_idx","asn","tstampToDateString","html_tag","timestamp","localized","d3","time","noHtml","cleanCustomHostUrl","host","parseQuery","queryString","query","pairs","pair","decodeURIComponent","getHistoryParameters","cur_params","new_params","new_query","param","baseUrl","protocol","pathname","schema_2_label","data_2_label","graph_i18n","initLabelMaps","_schema_2_label","_data_2_label","_graph_i18n","getSerieLabel","schema","serie","visualization","serie_index","data_label","new_label","metrics_labels","ext_label","tags","category","l4proto","device","if_index","port","exporter","ifname","profile","user_script","traffic_volume","traffic","getValueFormatter","metric_type","series","custom_formatter","stats","formatters","console","error","as_counter","max_val","makeFlatLineValues","tstart","tstep","num","t","values","checkSeriesConsinstency","schema_name","count","rv","upsampleSerie","num_points","intervals","lerp","v0","v1","prev_i","next_i","min","ceil","v","buildTotalSerie","data_series","transpose","map","g","sum","arrayToNvSerie","serie_data","start","step","buildOtherSerie","total_serie","visual_total","warn","max","buildTimeArray","start_time","end_time","arr","fixTimeRange","chart","align_step","actual_step","epoch_end","epoch_begin","frame","align","tick_step","resolution","fmt","range_params","range","limit","x_fmt","findActualStep","raw_step","supported_steps","retention","now_ts","now","delta","partial","aggregation_dp","tframe","retention_dp","has_initial_zoom","current_zoom_level","canCompareBackwards","jump_duration","current_duration","fixJumpButtons","duration","showQuerySlow","show","hideQuerySlow","hide","chart_data_sum","reduce","acc","pt","attachStackedChartCallback","chart_id","zoom_reset_id","show_all_smooth","initial_range","ts_table_shown","pending_chart_request","pending_table_request","d3_sel","$chart","$zoom_reset","$graph_zoom","max_interval","initial_interval","is_max_zoom","first_load","first_time_loaded","manual_trigger_cmp_serie","datetime_format","max_over_total_ratio","query_timer","seconds_before_query_slow","query_completed","query_was_aborted","is_zoomed","spinner","chart_colors_full","chart_colors_min","num_ticks_y1","num_ticks_y2","domain_y1","domain_y2","first_run","update_chart_data","new_data","datum","call","transition","yAxis1","ticks","yAxis2","yDomain1","yDomain2","cur_domain_y1","domain","cur_domain_y2","y1_sum","yAxis","y2_sum","nv","utils","windowResize","update","isLegendDisabled","default_val","localStorage","getItem","legend","dispatch","legend_key","setItem","cur_zoom","t_start","xDomain","t_end","old_zoomed","is_user_zoom","updateStackedChart","push_state","pushState","zoom_level","fixChartButtons","updateZoom","zoom","force","zoom_in","cur_interval","date","updateChartFromPickers","zoom_out","event","go","addEventListener","zoom_link","checkQueryCompleted","flows_dt","wait_num_queries","clearInterval","queryWasAborted","abortQuery","abort","noData","tableRequestCompleted","getDataUrl","data_params","ts_compare","extended","old_start","old_end","old_interval","tend","no_spinner","on_load_callback","force_update","new_end","zoomType","maxDate","setInterval","no_data_available","req_params","get","xAxis","tickValues","color_i","chart_colors","j","visualization_options","current_step","axis","color","has_full_data","additional_series","total","other_serie","past_serie","ratio_over_total","is_disabled","classed","no_trend","num_smoothed_points","smooth_functions","trend","smooth","ema","exponentialMovingAverageArray","periods","sma","simpleMovingAverageArray","rsi","relativeStrengthIndexArray","add_smoothed_serie","fn_to_use","smoothed","delta_serie","aligned","scaled","remaining","to_fill","splice","yDomainRatioY2","formatter1","value_formatter","statistics","tot_formatter","stats_formatter","yAxis1_formatter","second_axis_series","formatter2","value_formatter2","yAxis2_formatter","stats_table","average","avg","total_cell","average_cell","min_cell","max_cell","perc_cell","min_val","min_val_idx","max_val_idx","enabled_series","updateState","source_aggregation","fail","xhr","status","statusText","always","pendingRequest","updateGraphsTableView","graph_old_view","graph_old_has_nindex","graph_old_nindex_query","tsQueryToTags","ts_query","pos","recheckGraphTableEntries","table_view","graph_table_views","graph_params","reset_selection","view_id","view","elem","html_id","min_step","items_ul","idx","next_item","nextAll","divider","first_view","setActiveGraphsTableView","has_nindex","nindex_query","per_page","graph_table","nindex_buttons","params_obj","nindex_view","col","title","textAlign","width","hidden","actions","white-space","text-align","old_dt","removeData","datatable","perPage","noResultsMessage","ts_chart","no_results_found","post","initial_point","detail_view","loadingYOffset","buttons","tableCallback","currentPage","stats_div","has_drilldown","some","drilldown","loading_time","num_records_processed","rowCallback","row_data","draw_processes_graph","graph_div_id","links","nodes","json","_link","forEach","source_pid","source","source_name","source_type","pid","target_pid","target_name","target_type","height","arrow_size","category10","layout","size","linkDistance","charge","tick","svg","selectAll","enter","path","circle","style","drag","href","text","linkArc","transform","dx","dy","y","dr","sqrt","makeUniqueValidator","items_function","cmp_name","memberValueValidator","member","makePasswordPatternValidator","pattern","passwordPatternValidator","passwordMatchValidator","other_input","not","poolnameValidator","passwordMatchRecheck","items","not_empty","hostOrMacValidator","ipAddressValidator"],"mappings":"AAEA,QAASA,yBAAwBC,OAC/BC,EAAE,oBAAqBA,EAAED,QAAQE,SAGnC,QAASC,sBAAqBH,MAAOI,WACnC,GAAIC,SAAUJ,EAAE,WAAYA,EAAED,QAAQM,OAAO,WAC5C,MAAOL,GAAEM,MAAMC,IAAI,YAAc,SAC/BC,MACHR,GAAE,QAASA,EAAED,QAAQU,KAAK,qCAAuCL,QAAU,QAAUD,UAAY,kBAGnG,QAASO,+BAA8BX,OACpC,MAAOC,GAAE,oBAAqBA,EAAED,QAAQS,OAAS,EAGpD,QAASG,kBAAiBZ,OACxB,MAAOW,+BAA8BX,QAAU,EAGjD,QAASa,oBAAmBC,MAC1B,MAAOb,GAAE,QAASA,EAAE,kBAAmBA,EAAEa,OAAOC,UAGlD,QAASC,qBAAoBC,QAASb,UAAWc,aAAcC,cAC7D,GAAID,aACDjB,EAAEiB,cAAcE,WAAW,WAE9B,IAAIN,MAAOb,EAAEgB,SAASI,QAAQ,OAC9BpB,GAAEgB,SAASf,QACXoB,eAAcR,KACd,IAAIS,IAAKV,mBAAmBC,KAE5B,IAAIF,iBAAiBW,IAClBpB,qBAAqBoB,GAAInB,UAE3B,IAAIe,aAEDK,OAAOL,cAAcF,SAG3B,QAASQ,qBAAoBzB,MAAO0B,WACjCzB,EAAE,iBAAkBD,OAAO2B,KAAK,SAASC,OACtC,SAAUF,aAAc,WAAY,CACjCA,UAAUG,KAAKtB,MAAMqB,WACjB,CACJ,GAAIE,EACJ,KAAKA,EAAE,EAAGA,EAAEJ,UAAUjB,OAAQqB,IAC3BJ,UAAUI,GAAGD,KAAKtB,MAAMqB,UAKpC,QAASG,4BAA2BC,OAAQC,MAAOC,SAAUf,aAAcgB,MACxElC,EAAE,gBAAgB+B,OAAO,IAAK/B,EAAEM,OAAO6B,OAAO,YAAcD,KAAO,wDAA0DhB,aAAe,sCAAwCe,SAAW,KAAOD,MAAQ,eAGjN,QAASI,kCAAiCL,OAAQb,aAAcc,OAC7DF,2BAA2BF,KAAKtB,MAAMyB,OAAQC,MAAO,eAAgBd,aAAc,sBAGtF,QAASmB,kCAAiCN,OAAQb,aAAcc,OAC7DF,2BAA2BF,KAAKtB,MAAMyB,OAAQC,MAAO,aAAcd,aAAc,sBAGpF,QAASoB,gCAA+BP,OAAQG,KAAMF,OACnDF,2BAA2BF,KAAKtB,MAAMyB,OAAQC,MAAO,aAAc,GAAIE,MAG1E,QAASK,2BAA0BC,OAAQC,kBAAmBC,SAC3DA,QAAUC,cACPC,UAAW5C,EAAE6C,KACbC,YAAa,SAASC,KACnB,MAAOA,KAAIC,KAAK,UAAUC,UAE7BP,QAEH,SAASQ,iCAAgCC,YAAaV,kBAAmBK,YAAaM,UACnFpD,EAAE,QAAUyC,kBAAoB,KAAKf,KAAK,WACvC,GAAI2B,OAAQP,YAAY9C,EAAEM,MAC1B,IAAI+C,MAAM,IAAMF,YAAY,GACzBC,SAASC,SAIlB,QAASC,6BAA4BC,WAAYC,QAC9C,GAAIA,OAAQ,CACTD,WAAWpC,WAAW,gBAClB,CACJ,GAAIsC,YAAaF,WAAWnC,QAAQ,SACpC,IAAIsC,cAAgBD,WAAWE,OAASJ,WAAWI,KACnDJ,YAAWK,KAAK,WAAY,WAE5B,IAAGF,aAAc,CACd,GAAIG,SAAUJ,WAAWT,KAAK,0BAA0BC,QAAQU,KAChEF,YAAWE,IAAIE,QACfJ,YAAWG,KAAK,eAAgBC,WAKzC,QAASC,8BAA6BrB,kBAAmBK,YAAaiB,iBACnE,GAAIC,WAAYhE,EAAEM,MAAMsD,KAAK,iBAAmB,EAChD,IAAIK,WAAYjE,EAAEM,MAAMqD,OAAS,EACjC,IAAIO,UAEJ,IAAIF,WAAaC,UACdD,UAAY,EAEfd,iCAAgClD,EAAEM,MAAOmC,kBAAmBK,YAAa,SAASO,OAC/EC,4BAA4BD,MAAML,KAAK,iBAAmBgB,UAAY,MAAO,KAC7EV,6BAA4BD,MAAML,KAAK,iBAAmBiB,UAAY,MAAO,MAC7EC,QAAOC,KAAKd,QAGfU,iBAAgB/D,EAAEM,MAAO0D,UAAWC,UAAWC,OAAQZ,4BAEvDtD,GAAEM,MAAMsD,KAAK,eAAgBK,WAGhC,QAASG,2BAA0BX,WAAYhB,kBAAmBK,aAC/DW,WAAWE,IAAI,GAGfT,iCAAgCO,WAAYhB,kBAAmBK,YAAa,SAASO,OAElFA,MAAMgB,QAAQ,WAIjB,IAAIC,SAAUb,WAAWT,KAAK,0BAA0BC,OACxD,IAAIY,SAAUS,QAAQX,KAGtBF,YAAWE,IAAIE,QACfJ,YAAWY,QAAQ,UAGtB,GAAIE,QAAS7B,QAAQI,YAAYN,OACjC+B,QAAOC,GAAG,SAAU,WAAaV,6BAA6BlC,KAAKtB,MAAMmC,kBAAmBC,QAAQI,YAAaJ,QAAQE,YACzH2B,QAAOC,GAAG,SAAU,WAAYxE,EAAEM,MAAMqD,IAAI,IAAIU,QAAQ,WACxDD,2BAA0BG,OAAQ9B,kBAAmBC,QAAQI,aAGhE,QAAS2B,wBAAuB1E,MAAOgC,OAAQ2C,UAAWC,cAAeC,QACtE,GAAIA,QAASA,QAAU,SAASC,EAAGC,GAAK,MAAOA,GAAID,EACnD,IAAIE,UAAW,KAEfvD,qBAAoBzB,MAAO,WACxB,GAAGgF,SAAU,MAEb,IAAIC,IAAKhF,EAAEM,KACX,IAAI2E,SAAUC,SAASlF,EAAE,gBAAkB+B,OAAS,IAAKiD,IAAIvE,OAE7D,KAAO0E,MAAMF,UAAcL,OAAOK,QAASN,eAAiB,EAAI,CAC7DK,GAAGI,OAAOV,UACVK,UAAW,OAIjB,KAAMA,SAEH/E,EAAED,OAAOoC,OAAOuC,WAGtB,QAASW,qBAAoBtF,OAC1B,GAAIuF,UAAWtF,EAAE,sDAAuDA,EAAED,OAC1E,SAAUuF,SAAS9E,QAAU,GAAO8E,SAASC,SAAS,WAAa,OAGtE,QAASC,oBAAmBzF,MAAO0F,OAAQC,UACxC,GAAIC,KAAM5F,MAAM6F,KAAK,aAAaC,UAAUD,KAAKvF,OAAO,SAASyF,MAC9D,MAAOA,MAAKL,UAAYC,UAG3B,IAAGC,IAAK,MAAOA,KAAI,GAGtB,QAASI,yBAAwBhG,MAAOiG,YACrC,GAAIC,OAAQlG,MAAM6F,KAAK,aAAalD,QAAQtC,QAAQ8F,UAAU,SAASJ,MACpE,MAAOA,MAAKK,QAAUH,YAGzB,OAAM,OAGT,QAASI,sBAAqBrG,MAAOsG,WACnC,GAAIC,KAAMvG,MAAM6F,KAAK,YACrB,IAAIW,MAAOD,IAAIT,UAAUD,IACzB,IAAIY,OACJ,IAAIC,aAEJ,KAAI,GAAIC,OAAOH,MAAM,CACjB,GAAIX,MAAOW,KAAKG,IAEhB,IAAGd,KAAKS,WAAY,CACjB,GAAIM,SAAUf,KAAKS,UACnBI,WAAUE,SAAWD,GACrBF,KAAIrC,KAAKwC,UAIhB,GAAGH,IAAK,CACP,GAAII,KAAMN,IAAI5D,QAAQkE,GACtB,IAAIC,SACDC,aAAgBN,IAAIO,KAAK,KAG5B/G,GAAEgH,MACCC,KAAM,MACNL,IAAKA,IACLhB,KAAMiB,OACNK,MAAO,MACPC,QAAS,SAASC,QACf,IAAI,GAAIV,OAAOU,QAAOxB,KAAM,CACzB,GAAIA,MAAOwB,OAAOxB,KAAKc,IACvB,IAAIC,SAAUf,KAAKS,UAEnB,IAAGM,SAAWF,UAAUE,SAAU,CAC/B,GAAIU,SAAUZ,UAAUE,QACxB,IAAIW,UAAWhB,IAAIC,KAAKc,QACxB,IAAIE,SAAUvH,EAAE,KAAMsH,SAEtB,KAAI,GAAIE,OAAO5B,MAAM,CAClB,GAAI6B,SAAU1B,wBAAwBhG,MAAOyH,IAC7C,IAAIE,MAAOH,QAAQE,QAEnBzH,GAAE0H,MAAMjH,KAAMmF,KAAK4B,MAAQ,EAAK5B,KAAK4B,KAAO,WC/N9D,QAASG,eAAcC,cAAelF,SACpC,IAAMkF,cAAeA,cAAgB,MAErC,IAAIA,gBAAkB,OAAQ,CAE5BA,cAAgB,qCAGlB,GAAIC,kBACFC,gBAAmB,sDACnBC,kBAAmB/H,EAAE6C,KACrBmF,kBAAmBhI,EAAE6C,KACrBoF,sBAAuB,KACvBC,iBAAkB,MAClBC,YAAa,MACbC,iBAAkB,GAClBC,eAIF,IAAIC,GAAItI,EAAEuI,OAAO,QAAUV,gBAAiBnF,QAC5C4F,GAAEV,cAAgBA,aAElB5H,GAAE,WACAA,EAAEsI,EAAEV,eAAeY,WAAWF,EAAED,YAEhC,IAAIC,EAAEL,sBAEJjI,EAAEsI,EAAEV,eAAe5E,KAAKsF,EAAER,iBAAiBlE,KAAK,WAAY,WAE9D5D,GAAEsI,EAAEV,eAAepD,GAAG,mBAAoB,WACxC,GAAI8D,EAAEL,sBACJjI,EAAEM,MAAM0C,KAAKsF,EAAER,iBAAiB3G,WAAW,WAE7C,IAAImH,EAAEJ,iBAAkB,CAEtBlI,EAAEM,MAAM0C,KAAK,qBAAqBY,KAAK,WAAY,WACnD5D,GAAEM,MAAM0C,KAAK,mBAAmBzC,IAAI,iBAAkB,QAAQA,IAAI,SAAU,WAG9E,GAAI+H,EAAEH,YAAa,CAEjBnI,EAAE,aAAagD,KAAK,KAAKtB,KAAK,WAC5B,IAAM1B,EAAEM,MAAMc,QAAQ,MAAMmE,SAAS,UACnCvF,EAAEM,MAAMa,WAAW,eAAeC,QAAQ,MAAMqH,SAAS,cAI/DzI,EAAEsI,EAAEF,kBAAkBK,SAAS,WAE/BH,GAAEP,kBAAkBnG,KAAKtB,SAG5BN,GAAEsI,EAAEV,eAAepD,GAAG,mBAAoB,WACzC,GAAI8D,EAAEL,sBACJjI,EAAEM,MAAM0C,KAAKsF,EAAER,iBAAiBlE,KAAK,WAAY,WAEnD,IAAI0E,EAAEJ,iBAAkB,CAEpBlI,EAAEM,MAAM0C,KAAK,qBAAqB7B,WAAW,WAC7CnB,GAAEM,MAAM0C,KAAK,mBAAmBzC,IAAI,iBAAkB,IAAIA,IAAI,SAAU,IAG1E,GAAI+H,EAAEH,YAAa,CAEjBnI,EAAE,aAAagD,KAAK,KAAKtB,KAAK,WAC5B1B,EAAEM,MAAMsD,KAAK,cAAe,OAAOxC,QAAQ,MAAMsH,YAAY,cAIjE1I,EAAEsI,EAAEF,kBAAkBM,YAAY,WAElCJ,GAAEN,kBAAkBpG,KAAKtB,YAS/B,QAASqI,cAAaf,eACpB5H,EAAE4H,eAAevD,QAAQ,2BAO3B,QAAShD,eAAcuG,eACrB5H,EAAE4H,eAAevD,QAAQ,qBAO3B,QAASuE,gBAAehB,eACtB5H,EAAE4H,eAAevD,QAAQ,wBAM3B,QAASwE,aAAYjB,cAAekB,iBAClCA,gBAAkBA,iBAAmB,wDAGrC,IAAIC,UAAW,SAASC,QACtB,GAAIA,OAAOzD,SAAS,eACbyD,OAAOzD,SAAS,cAChByD,OAAOpF,KAAK,oBACZoF,OAAOpF,KAAK,UAAYqF,UAAW,CACxC,MAAO,MAGT,GAAID,OAAOE,GAAG,aAAc,CAC1B,MAAO,eAGT,GAAIvF,IACJ,IAAIsD,MAAO+B,OAAOpF,KAAK,OACvB,IAAIoF,OAAOE,GAAG,UAAW,CACvBjC,KAAO,SAGT,OAAQA,MACN,IAAK,WACL,IAAK,QACHtD,IAAMqF,OAAOE,GAAG,WAChB,MACF,KAAK,SACHvF,IAAM,EACNqF,QAAOhG,KAAK,UAAUtB,KAAK,SAAS4G,GAClC,GAAIa,SAAUnJ,EAAEM,KAChB,IAAI6I,QAAQD,GAAG,aAAc,CAC3BvF,KAAOwF,QAAQxF,QAGnB,MACF,SACEA,IAAMqF,OAAOrF,MAGjB,MAAOA,KAGT,IAAIyF,cAAe,SAASJ,QAC1B,GAAIK,WAAYL,OAAOpD,KAAK,WAC5B,IAAI0D,UAAWP,SAASC,OACxB,IAAIO,OAASN,YAAcI,WAAeA,WAAaC,QAEvD,QAAQC,MAAMA,MAAOF,UAAUA,UAAWC,SAASA,UAGrD,IAAIE,KAEJxJ,GAAE4H,eAAe5E,KAAK8F,iBAAiBpH,KAAK,WAC1C,GAAI+H,cAAeL,aAAapJ,EAAEM,MAElC,IAAImJ,aAAaF,MAAO,CACtBE,aAAaC,MAAQ1J,EAAEM,KACvBkJ,GAAErF,KAAKsF,gBAIX,OAAOD,GCzKT,GAAIG,yBAA0B,IAE9B,SAASC,cAAaC,MAClB,GAAI,4GAA4GC,KAAKD,MAAO,CAC/H,MAAM,UACI,CACV,MAAM,QAIP,QAASE,cAAaC,MAClB,GAAI,oqCAAoqCF,KAAKE,MAAO,CACvrC,MAAM,UACI,CACV,MAAM,QAIP,QAASC,WAAUC,OACf,MAAO,QAAQJ,KAAKI,OAGxB,QAASC,gBAAeC,MACpB,MAAO,yCAAyCN,KAAKM,MAGzD,QAASC,iBAAgBD,KAAME,eAC3B,GAAIC,OAAQH,KAAKI,MAAM,IACvB,IAAIC,MAAO,IACX,IAAIC,QAEJ,IAAGH,MAAM/J,QAAU,EAAG,CACpB,IAAM8J,cACH,MAAO,UAEPI,SAAUN,SACT,CACJM,QAAUH,MAAM,EAEhB,KAAIN,UAAUM,MAAM,IACjB,MAAO,KAEVE,MAAOvF,SAASqF,MAAM,GAEtB,IAAGE,KAAO,EACP,MAAO,MAGb,GAAGb,aAAac,SAAU,CACvB,GAAID,OAAS,KACVA,KAAO,OACL,IAAIA,KAAO,GACb,MAAO,KAEV,QACGxD,KAAM,OACN0D,QAASD,QACTD,KAAMA,UAEL,IAAGV,aAAaQ,MAAM,IAAK,CAC/B,GAAIE,OAAS,KACVA,KAAO,QACL,IAAIA,KAAO,IACb,MAAM,MAET,QACGxD,KAAM,OACN0D,QAASD,QACTD,KAAMA,MAIZ,MAAO,MAGV,QAASG,OAAMC,MACX,SAAS,QAAW,YAClB,MAAO,GAET,IAAIC,QAAS,MAAO,SAAU,SAAU,SAAU,SAClD,IAAGD,MAAQ,EAAG,MAAO,GACrB,IAAIA,KAAO,GAAOA,KAAOlB,wBAA0B,MAAQ,KAAOA,wBAA0B,MAC5F,IAAIoB,cAAeC,KAAKC,IAAIJ,MAAQG,KAAKC,IAAI,IAC7C,IAAIpJ,GAAIqD,SAAS8F,KAAKE,MAAMH,cAC5B,IAAIlJ,EAAI,GAAKsD,MAAMtD,GAAI,CAC1BA,EAAI,MACM,IAAIA,GAAKiJ,MAAMtK,OAAQ,CACjC,MAAO,KAASsK,MAAMA,MAAMtK,OAAS,GAGlC,GAAIqB,GAAK,EAAG,CACf,MAAOmJ,MAAKG,MAAMN,KAAOG,KAAKI,IAAI,IAAMvJ,GAAK,KAAO,IAAM,IAAMiJ,MAAMjJ,OAC5D,CACV,GAAIwJ,KAAMC,WAAWT,KAAOG,KAAKI,IAAI,IAAMvJ,IAAI0J,QAAQ,EACvD,IAAIF,IAAM,GAAK,EACXA,IAAML,KAAKG,MAAME,IACrB,OAAOA,KAAM,IAAMP,MAAMjJ,IAM1B,QAAS2J,aAAYC,KACnB,SAAS,OAAU,YACf,MAAO,GAEX,IAAIX,QAAS,QAAS,SACtB,IAAGW,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAM9B,wBAA0B,MAAQ,KAAOA,wBAA0B,SAC1F,IAAIhE,KAAM+F,WAAWD,IAAKX,MAAO,IAGjC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGpD,QAASgG,gBAAeC,SACtB,SAAS,WAAc,YACnB,MAAO,GAEX,IAAIC,eAAgBC,KAAKF,QAAQG,aAEjC,IAAIjB,QAASe,cAAe,KAAOA,cACnC,IAAGD,SAAW,EAAG,MAAO,GACxB,IAAIA,QAAU,GAAOA,QAAUjC,wBAA0B,MAAQ,KAAOA,wBAA0B,SAClG,IAAIhE,KAAM+F,WAAWE,QAASd,MAAO,IAGrC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGpD,QAASqG,kBAAiBC,OACxB,SAAS,SAAY,YACnB,MAAO,GACT,OAAOrB,OAAMqB,MAAQ,GAGvB,QAASC,UAASC,KACd,SAAS,OAAU,YACjB,MAAO,GAET,IAAIrB,QAAS,MAAO,OAAQ,OAAQ,OAAQ,OAC5C,IAAGqB,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAMxC,wBAA0B,MAAQ,KAAOA,wBAA0B,MAC1F,IAAIhE,KAAM+F,WAAWS,IAAKrB,MAAO,IAGjC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGtD,QAASyG,SAAQD,KACb,SAAS,OAAU,YACjB,MAAO,GAET,IAAIrB,QAAS,OAAQ,QAAS,QAAS,QAAS,QAChD,IAAGqB,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAMxC,wBAA0B,MAAQ,KAAOA,wBAA0B,OAC1F,IAAIhE,KAAM+F,WAAWS,IAAKrB,MAAO,IAGjC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGtD,QAAS0G,QAAOC,KACZ,SAAS,OAAU,YACjB,MAAO,GAET,IAAIxB,QAAS,MAAO,OAAQ,OAAQ,OAAQ,OAC5C,IAAGwB,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAM3C,wBAA0B,MAAQ,KAAOA,wBAA0B,MAC1F,IAAIhE,KAAM+F,WAAWY,IAAKxB,MAAO,IAGjC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGtD,QAAS4G,OAAMC,KACX,SAAS,OAAU,YACjB,MAAO,GAET,IAAI1B,QAAS,QAAS,SAAU,QAAS,SAAU,SACnD,IAAG0B,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAM7C,wBAA0B,MAAQ,KAAOA,wBAA0B,MAC1F,IAAIhE,KAAM+F,WAAWc,IAAK1B,MAAO,IAGjC,OAAOE,MAAKG,MAAMxF,IAAI,GAAK,KAAO,IAAM,IAAMA,IAAI,GAGtD,QAAS8G,SAAQC,KACf,SAAS,OAAU,YACjB,MAAO,GAGT,OAAO1B,MAAKG,MAAMuB,IAAM,KAAO,IAAM,YAGvC,QAASC,MAAKzC,OACV,SAAS,SAAY,YACnB,MAAO,GAET,IAAI0C,GAAI5B,KAAKG,MAAMjB,MACnB,OAAO0C,GAAEC,WAAWC,QAAQ,wBAAyB,KAGzD,QAASC,QAAO7C,OACZ,SAAS,SAAY,YACnB,MAAO,GAET,IAAI0C,GAAI5B,KAAKG,MAAMjB,MAAQ,KAAO,GAClC,OAAO0C,GAAEC,WAAWC,QAAQ,wBAAyB,KAGzD,QAASE,UAAS9C,OACd,SAAS,SAAY,YACnB,MAAO,GAET,OAAOc,MAAKG,MAAMjB,MAAQ,KAAO,IAAM,IAG3C,QAAS+C,OAAMC,MACX,GAAIC,OAAQD,KAAK,GACjB,IAAIE,GAAI,GAAIC,MAAKF,MAEjB,OAAM,GAGV,QAASG,uBAAsBC,QAC3B,MAAOA,QAAOC,OAAO,GAAGC,cAAgBF,OAAOG,MAAM,GAGzDC,OAAOC,UAAUC,WAAa,SAAUN,QACpC,MAAOjN,MAAKwN,QAAQP,UAAY,EAGpC,SAASQ,WAAUC,OAAQ5I,QACvB,GAAIA,SAAW6D,WAAe+E,QAAU5I,OAAS,CACpD,MAAM,kCACI,CACV,MAAM,kCAIP,QAAS6I,WAAUC,MACf,GAAIC,MAAO,EAEX,IAAID,KAAKE,OAAO,WAAa,GAAKF,KAAKE,OAAO,YAAc,EAAGD,KAAO,yCACjE,IAAID,KAAKE,OAAO,aAAe,EAAGD,KAAO,2CACzC,IAAID,KAAKE,OAAO,aAAe,GAAKF,KAAKE,OAAO,WAAa,GAAKF,KAAKE,OAAO,UAAY,EAAGD,KAAO,2CACpG,IAAID,KAAKE,OAAO,YAAc,GAAKF,KAAKE,OAAO,UAAY,GAAKF,KAAKE,OAAO,UAAY,EAAID,KAAO,oCAExG,OAAOA,MAGX,QAASE,kBAAiBC,IAAKC,KAC3B,IAAKD,IACR,MAAO,EACJ,IAAIA,IAAI9N,OAAS+N,IACpB,MAAOD,IACJ,OAAOA,KAAIE,UAAU,EAAGD,KAAK,MAIjC,QAASE,aAAYxC,OACjB,SAAS,SAAY,YACnB,MAAO,GAET,IAAIyC,WAAY,CAChB,IAAIC,UAAW,IACf,IAAIC,UAAWD,SAAW,IAC1B,IAAIE,UAAWD,SAAW,IAC1B,IAAIE,UAAWD,SAAW,IAE1B,IAAK5C,OAAS,GAAOA,MAAQ0C,SAChC,MAAO1C,OAAMV,QAAQmD,WAAa,aAC1B,IAAKzC,OAAS0C,UAAc1C,MAAQ2C,SAC5C,OAAQ3C,MAAQ0C,UAAUpD,QAAQmD,WAAa,UACvC,IAAIzC,OAAS2C,UAAc3C,MAAQ4C,SAC3C,OAAQ5C,MAAQ2C,UAAUrD,QAAQmD,WAAa,UACvC,IAAIzC,OAAS4C,UAAc5C,MAAQ6C,SAC3C,OAAQ7C,MAAQ4C,UAAUtD,QAAQmD,WAAa,UACvC,IAAGzC,OAAS6C,SACpB,OAAQ7C,MAAQ6C,UAAUvD,QAAQmD,WAAa,UAE/C,OAAOzC,OAAMV,QAAQmD,WAAa,SAGnCf,OAAOC,UAAUmB,qBAAuB,WACpC,GAAIC,IAAK1O,KAAKmN,aAEd,IAAIuB,IAAM,OAAWA,IAAM,KAC9B,MAAM,QAEN,OAAO1O,MAAKkN,OAAO,GAAGC,cAAgBnN,KAAKoN,MAAM,GAGlDC,QAAOC,UAAUqB,WAAa,WAC1B,GAAItJ,KAAMrF,KAAKkK,MAAM,IAErB,KAAK,GAAI3I,KAAK8D,KAAK,CACtBA,IAAI9D,GAAK8D,IAAI9D,GAAGkN,uBAGb,MAAOpJ,KAAIoB,KAAK,KAGpB,SAASmI,WAAUC,QAASC,KAAMC,WAChC,GAAGF,SAAWC,KAAM,CAClB,MAAM,kCACD,IAAGD,QAAUC,KAAM,CACxB,MAAO,4BAA8BC,UAAU,YAC1C,CACL,MAAM,oCAIV,QAASC,eAAcC,SACnB,GAAGA,UAAY,KAClBvP,EAAE,8BAA8BgD,KAAK,MAAM0F,YAAY,YAAY1F,KAAK,KAAKY,KAAK,cAAe,WAEjG5D,GAAE,8BAA8BgD,KAAK,MAAMyF,SAAS,YAAYzF,KAAK,KAAK7B,WAAW,eAGtF,QAASqO,8BACLxP,EAAE,UAAU0B,KAAK,WACf1B,EAAEM,MAAMmP,KAAK,WAAY,OAE3BH,eAAc,OAGlB,QAASI,6BACL1P,EAAE,UAAU0B,KAAK,WACpB1B,EAAEM,MAAMmP,KAAK,WAAY,QAEtBH,eAAc,MAGlB,QAASL,YAAWU,GAChB,MAAOA,IAAKA,EAAE,GAAGlC,cAAgBkC,EAAEjC,MAAM,GAG7C,QAASkC,WAAUC,MACjBA,MAAQ,EACR,IAAIjD,GAAIiD,KAAKrF,MAAM,IACnB,IAAIsF,IAAKlD,EAAE,EACX,IAAImD,IAAKnD,EAAEpM,OAAS,EAAI,IAAMoM,EAAE,GAAK,EACrC,IAAIoD,KAAM,cACV,OAAOA,IAAIlG,KAAKgG,IAAK,CACnBA,GAAKA,GAAGhD,QAAQkD,IAAK,KAAO,IAAM,MAEpC,MAAOF,IAAKC,GAGd,QAASrE,YAAW/H,IAAKmH,MAAOmF,OAC9B,GAAGtM,KAAO,EAAG,OAAQ,EAAGmH,MAAM,GAE9B,IAAIjJ,GAAIqD,SAAS8F,KAAKE,MAAMF,KAAKC,IAAItH,KAAOqH,KAAKC,IAAIgF,QACrD,IAAIpO,EAAI,GAAKsD,MAAMtD,GAAI,CACrBA,EAAI,MACC,IAAIA,GAAKiJ,MAAMtK,OACpBqB,EAAIiJ,MAAMtK,OAAS,CAErB,QAAQwK,KAAKG,MAAOxH,IAAMqH,KAAKI,IAAI6E,MAAOpO,GAAM,IAAM,GAAIiJ,MAAMjJ,IAGlE,QAASqO,aAAYvM,KACnB,GAAImH,QAAS,GAAI,IAAK,IAAK,IAAK,IAChC,IAAGnH,KAAO,EAAG,MAAO,GACpB,IAAIA,IAAM,GAAOA,IAAMgG,wBAA0B,MAAQ,KAAOA,uBAChE,IAAIhE,KAAM+F,WAAW/H,IAAKmH,MAAO,IAEjC,OAAOE,MAAKG,MAAMxF,IAAI,IAAMA,IAAI,GAGlC,QAASwK,eAAcC,GACrB,MAAOR,WAAUQ,EAAE7E,QAAQ,IAAI,QAGjC,QAAS8E,cAAaD,GACpB,MAAOR,WAAUQ,EAAE7E,QAAQ,IAAI,UAGjC,QAAS+E,aAAYF,GACnB,MAAOR,WAAUQ,EAAE7E,QAAQ,IAAI,SAGjC,QAASgF,gBAAeH,GACtB,MAAOR,WAAUQ,EAAE7E,QAAQ,IAAI,YAGjC,QAASiF,SAAQtG,OACf,SAAS,SAAY,YACnB,MAAO,GAET,IAAGA,OAAS,EAAG,MAAO,MACtB,IAAIA,MAAQ,GAAOA,MAAQP,wBAA0B,MAAQ,KAAOA,wBAA0B,KAC9F,IAAIhE,KAAM+F,WAAWxB,OAAQ,KAAM,KAAM,IAEzC,OAAOvE,KAAI,GAAK,IAAMA,IAAI,GAG5B,QAAS8K,eAAcxE,OACrB,GAAInB,QAAS,QAAS,KAAM,KAAM,KAAM,KACxC,IAAGmB,OAAS,EAAG,MAAO,SACtB,IAAIA,MAAQ,GAAOA,MAAQtC,wBAA0B,MAAO,KAAOA,wBAA0B,QAC7F,IAAIhE,KAAM+F,WAAWO,MAAOnB,MAAO,KAEnC,OAAOnF,KAAI,GAAG4F,QAAQ,GAAK,IAAM5F,IAAI,GAGvC,QAAS+K,uBAAsBzE,OAC7B,GAAInB,QAAS,QAAS,KAAM,KAAM,KAAM,KACxC,IAAImB,OAAS,EAAG,MAAO,SACvB,IAAIpK,GAAIqD,SAAS8F,KAAKE,MAAMF,KAAKC,IAAIgB,OAASjB,KAAKC,IAAI,OACvD,SAAUgB,MAAQjB,KAAKI,IAAI,KAAMvJ,IAAI0J,QAAQ,GAAIT,MAAMjJ,IAGzD,QAAS8O,YAAW9F,KAAM+F,QACxBA,OAASA,QAAU,GACnB,IAAI9F,QAAS,QAAS,SAAU,SAAU,SAAU,SACpD,IAAID,MAAQ,EAAG,MAAO,OACtB,IAAKA,KAAO,GAAOA,KAAOlB,wBAA0B,MAAO,KAAOA,wBAA0B,MAC5F,IAAIhE,KAAM+F,WAAWb,KAAMC,MAAO8F,OAElC,OAAOjL,KAAI,GAAG4F,QAAQ,GAAK,IAAM5F,IAAI,GAGvC,QAASkL,eAAcC,SACpB,GAAGA,QAAU,EAAG,CACb,MAAM,UAGT,GAAIC,MAAO/F,KAAKE,MAAM4F,QAAU,MAChC,IAAIE,OAAShG,KAAKE,MAAO4F,QAAU,KAASC,KAAO,GACnD,IAAIE,SAAUjG,KAAKE,MAAO4F,QAAU,GAAOC,KAAO,KAASC,MAAQ,GACnE,IAAIE,KAAMJ,QAAU,EACpB,IAAIK,KAAM,GAAIC,YAEd,IAAGL,KAAO,EAAG,CACVM,MAAQrG,KAAKE,MAAM6F,KAAK,IAExB,IAAGM,MAAQ,EAAG,CAClBN,KAAOA,KAAO,GAEdI,KAAME,MAAQ,OACd,IAAGA,MAAQ,EAAG,CACXF,KAAO,IAGHC,UAAUjN,KAAKgN,IACfA,KAAM,GAETA,IAAMJ,KAAO,MACb,IAAGA,KAAO,EAAG,CAAEI,KAAO,IACtBC,UAAUjN,KAAKgN,IACfA,KAAM,GAGR,GAAGH,MAAQ,EAAG,CACjB,GAAGA,MAAQ,GAAI,CAAEG,IAAM,IACvBA,KAAOH,MAAQ,IAGZ,GAAGC,QAAU,GAAI,CAAEE,KAAO,IAC1BA,KAAOF,QAAU,GACjB,IAAGC,IAAM,GAAI,CAAEC,KAAO,IACtBA,KAAOD,GACPE,WAAUjN,KAAKgN,IAEhB,OAAOC,WAAUrK,KAAK,MAGzBsG,KAAKO,UAAU0D,OAAS,SAASA,QAC/B,GAAIhJ,IACDiJ,KAAOjR,KAAKkR,WAAW,EACvBC,KAAOnR,KAAKoR,UACZC,KAAOrR,KAAKsR,WACZC,KAAOvR,KAAKwR,aACZC,KAAOzR,KAAK0R,aACZC,KAAOjH,KAAKE,OAAO5K,KAAKkR,WAAW,GAAG,GACtCU,EAAM5R,KAAK6R,kBAGd,IAAG,OAAOrI,KAAKwH,QAASA,OAAOA,OAAOxE,QAAQsF,OAAOC,IAChD/R,KAAKgS,cAAc,IAAIC,OAAO,EAAIH,OAAOC,GAAG7R,QACjD,KAAI,GAAIgS,KAAKlK,GAAE,GAAG,GAAI8J,QAAO,IAAKI,EAAG,KAAK1I,KAAKwH,QAC7CA,OAASA,OAAOxE,QAAQsF,OAAOC,GAC5BD,OAAOC,GAAG7R,QAAQ,EAAI8H,EAAEkK,IACvB,KAAMlK,EAAEkK,IAAID,QAAQ,GAAIjK,EAAEkK,IAAIhS,QACpC,OAAO8Q,QAIT,SAASmB,YAAWtF,OAElB,GAAIC,GAAI,GAAIC,MAAKF,MAAM,IACvB,IAAIuF,OAAQ1H,KAAKE,OAAO,GAAKmC,OAAQsF,UAAU,IAAMxF,MAErD,OAAOC,GAAEkE,OAAO,uBAAuB,KAAKT,cAAc6B,OAAO,QAInE,QAASE,0BAAyBC,YAChC,GAAIC,WAEH,IAAGD,YAAc,MAAO,CACrBC,WAAa,eACT,IAAGD,YAAc,EAAE,MAAO,CAC9BC,WAAa,sBACT,CACJA,WAAa,QAGhB,MAAM,YAGT,QAASnQ,cAAaoQ,SAAUC,UAC5B,MAAOhT,GAAEuI,UAAWwK,SAAUC,UAGlC,QAASC,cAAapS,KAAMgG,QACxBhG,KAAOb,EAAEa,KAET,KAAK,GAAI2R,KAAK3L,QAAQ,CAClB,GAAIA,OAAOqM,eAAeV,GAAI,CAC1B,GAAI9I,OAAQ1J,EAAE,8BAAgCwS,EAAI,YAAc3L,OAAO2L,GAAK,KAC5E9I,OAAMyJ,SAAStS,OAIvB,MAAOA,MAeX,QAASuS,mBAAkBvM,QACxB,GAAIhF,GAAE,CACN,IAAI8D,OAEJ,KAAK,GAAI6M,KAAK3L,QAAQ,CACnBlB,IAAI,OAAS9D,GAAK2Q,CAClB7M,KAAI,OAAS9D,GAAKgF,OAAO2L,EACzB3Q,GAAIA,EAAE,EAGT,MAAO8D,KAIV0N,OAAOC,GAAG/K,QACNgL,QAAS,SAASC,OACd,MAAOlT,MAAKoB,KAAK,WACb,GAAI+R,OAAQzT,EAAEM,KACd,IAAGmT,MAAMvK,GAAG,mCACV5I,KAAKoT,SAAWF,UAEhBC,OAAME,YAAY,WAAYH,WAK5C,SAASI,kBAAiBC,UACtB,GAAIC,KACJ,IAAIC,YAEJF,UAAWA,SAAS/G,QAAQ,QAAS,IACrC+G,UAAWA,SAAS/G,QAAQ,OAAQ,IACpC+G,UAAWA,SAAS/G,QAAQ,MAAO,IAEnCgH,MAAOD,SAASrJ,MAAM,IACtB,OAAM,MAGV,QAASwJ,kBAAiBC,WAAYC,aACnClU,EAAE,IAAKiU,YAAYE,MAAM,SAASC,GAChCA,EAAEC,kBAIJrU,GAAE,YAAaiU,YAAYzP,GAAG,eAAgB,SAAS4P,GACpD,GAAIE,IAAKtU,EAAEoU,EAAEG,QAAQ3Q,KAAK,QAAQ2O,OAAO,EACzC,IAAGiC,QAAQC,aAAc,CAEtBD,QAAQC,aAAa,KAAM,KAAM,IAAIH,QACjC,CAEJ/S,OAAOmT,SAASC,KAAOL,KAK7B,IAAIK,MAAOpT,OAAOmT,SAASC,IAC3B,KAAMA,KAAMA,KAAO,IAAMT,WACzBlU,GAAE,WAAa2U,KAAO,KAAMV,YAAYW,IAAI,QAI/CjH,OAAOC,UAAUiH,QAAU,WACzB,GAAIC,MAAOC,SACX,OAAOzU,MAAKwM,QAAQ,WAAY,SAASkI,MAAOC,QAC9C,aAAcH,MAAKG,SAAW,YAC1BH,KAAKG,QACLD,QAKR,UAAWrH,QAAOC,UAAkB,WAAM,YAAa,CACrDD,OAAOC,UAAUsH,SAAW,SAASvF,GACnC,MAAOrP,MAAKwN,QAAQ6B,MAAQ,GAIhC,QAASwF,qBAAoBtU,KAAMqN,KAAMtI,MACvC5F,EAAE,WAAW4D,MACXqD,KAAM,SACNqN,GAAIpG,KACJA,KAAMA,KACNhE,MAAOtE,OACNuN,SAAStS,MAId,QAASuU,kCAAiCC,aACxC,MAAO,UAASxU,KAAM+E,MACpB,GAAIA,KAAKqB,MAAQ,MAAO,CACtBpG,KAAK+C,KAAK,SAAUyR,YAAc,4BAC7B,IAAIzP,KAAKqB,MAAQ,UAAW,CACjCpG,KAAK+C,KAAK,SAAUyR,YAAc,uBAClCF,qBAAoBtU,KAAM,UAAW+E,KAAK0P,aACrC,IAAI1P,KAAKqB,MAAQ,OAAQ,CAC9BpG,KAAK+C,KAAK,SAAUyR,YAAc,iDAClCF,qBAAoBtU,KAAM,gBAAiB+E,KAAK2P,cAChDJ,qBAAoBtU,KAAM,OAAQ,cAC7B,IAAI+E,KAAKqB,MAAQ,cAAe,CACrCpG,KAAK+C,KAAK,SAAUyR,YAAc,mDAC7B,IAAIzP,KAAKqB,MAAQ,MAAO,CAC7BpG,KAAK+C,KAAK,SAAUyR,YAAc,uBAClCF,qBAAoBtU,KAAM,MAAO+E,KAAK4P,SACjC,CACL3U,KAAK+C,KAAK,SAAUyR,YAAc,yBAGpC,MAAO,OAIX,QAASI,oBAAmBC,SAAUpE,OAAQoB,OAC5CA,MAAQA,OAAS,CACjB,IAAIiD,WAAYzQ,SAASwQ,SAASjV,QAAUiS,KAC5C,IAAIkD,WAAYC,GAAGC,KAAKxE,OAAOA,QAAQ,GAAIjE,MAAKsI,UAAU,KAC1DD,UAASjV,KAAKmV,WAAWlN,YAAY,SACrC,OAAOkN,WAGT,QAASG,QAAOpG,GACd,MAAOA,GAAE7C,QAAQ,WAAY,IAG/B,QAASkJ,oBAAmBC,MAE1B,MAAOA,MACJnJ,QAAQ,eAAgB,IACxBA,QAAQ,gBAAiB,IAEzBA,QAAQ,WAAY,IAEpBA,QAAQ,wBAAyB,IAItC,QAASoJ,YAAWC,aAClB,GAAIC,SACJ,IAAIC,QAASF,YAAY,KAAO,IAAMA,YAAY5D,OAAO,GAAK4D,aAAa3L,MAAM,IACjF,KAAK,GAAI3I,GAAI,EAAGA,EAAIwU,MAAM7V,OAAQqB,IAAK,CACrC,GAAIyU,MAAOD,MAAMxU,GAAG2I,MAAM,IAC1B4L,OAAMG,mBAAmBD,KAAK,KAAOC,mBAAmBD,KAAK,IAAM,IAErE,MAAOF,OAGT,QAASI,sBAAqB3P,QAC5B,GAAI4P,YAAaP,WAAW3U,OAAOmT,SAAStG,OAC5C,IAAIsI,YAAa1W,EAAEuI,OAAOkO,WAAY5P,OACtC,IAAI8P,WAAY,IAAM3W,EAAE4W,MAAMF,WAAY,KAC1C,IAAIG,UAAWnC,SAASoC,SAAU,KAAMpC,SAASuB,KAAMvB,SAASqC,UAAUhQ,KAAK,GAE/E,OAAO8P,SAAUF,UCxrBnB,GAAIK,kBACJ,IAAIC,gBACJ,IAAIC,cAEJ,SAASC,eAAcC,gBAAiBC,cAAeC,aACrDN,eAAiBI,eACjBH,cAAeI,aACfH,YAAaI,YAGf,QAASC,eAAcC,OAAQC,MAAOC,cAAeC,aACnD,GAAIC,YAAaH,MAAMzV,KACvB,IAAI6V,WAAYZ,aAAaW,WAE7B,IAAGF,eAAiBA,cAAcI,gBAAkBJ,cAAcI,eAAeH,aAC/E,MAAOD,eAAcI,eAAeH,YAEtC,IAAIH,QAAU,qBAAyBA,QAAU,sBAAwB,CACvE,GAAGC,MAAMM,UACP,MAAON,OAAMM,cAEb,OAAON,OAAMO,KAAK/B,SACf,IAAGuB,OAAO3J,WAAW,QAAS,CACnC,GAAG4J,MAAMO,KAAKlB,SACZ,MAAOW,OAAMO,KAAKlB,aACf,IAAGW,MAAMO,KAAKC,SACjB,MAAOR,OAAMO,KAAKC,aACf,IAAGR,MAAMO,KAAKE,QACjB,MAAOT,OAAMO,KAAKE,YACf,IAAGT,MAAMO,KAAKG,QAAUV,MAAMO,KAAKI,SAAU,CAChD,GAAGX,MAAMM,WAAa,GAClB,MAAON,OAAMM,cAEb,OAAO,IAAMN,MAAMO,KAAKI,SAAW,QAClC,IAAGX,MAAMO,KAAKG,QAAUV,MAAMO,KAAKK,KACxC,MAAOZ,OAAMO,KAAKK,SACf,IAAGZ,MAAMO,KAAKM,UAAYb,MAAMO,KAAKO,OACxC,MAAOd,OAAMO,KAAKO,WACf,IAAGd,MAAMO,KAAKQ,QACf,MAAOf,OAAMO,KAAKQ,YACjB,IAAGf,MAAMO,KAAKS,YACjB,MAAOhB,OAAMO,KAAKS,gBACf,IAAGb,YAAc,QAAS,CAC/B,GAAGH,MAAMO,KAAKlB,SACZ,MAAOW,OAAMO,KAAKlB,SAAW,KAAOe,UAAY,QAC7C,IAAGJ,MAAMO,KAAKC,SACjB,MAAOR,OAAMO,KAAKC,SAAW,KAAOJ,UAAY,QAC7C,IAAGJ,MAAMO,KAAKG,QAAUV,MAAMO,KAAKI,SACtC,MAAOX,OAAMM,UAAY,KAAOF,UAAY,QACzC,IAAGJ,MAAMO,KAAKG,QAAUV,MAAMO,KAAKK,KACtC,MAAOZ,OAAMO,KAAKK,KAAO,KAAOR,UAAY,QACzC,CACH,GAAGJ,MAAMO,KAAKlB,SACZ,MAAOW,OAAMO,KAAKlB,aACf,IAAGW,MAAMO,KAAKC,SACjB,MAAOR,OAAMO,KAAKC,aACf,IAAGR,MAAMO,KAAKQ,QACjB,MAAOf,OAAMO,KAAKQ,YACf,IAAGZ,YAAc,QAAS,CAC7B,GAAGJ,OAAOtC,SAAS,UACjB,MAAOgC,YAAWwB,mBAElB,OAAOxB,YAAWyB,SAI1B,GAAG3B,eAAeQ,QAChB,MAAOlK,uBAAsB0J,eAAeQ,QAE9C,IAAGK,UACD,MAAOvK,uBAAsBuK,UAG/B,OAAOvK,uBAAsBsK,YAI/B,QAASgB,mBAAkBpB,OAAQqB,YAAaC,OAAQC,iBAAkBC,OACxE,GAAGF,QAAUA,OAAOtY,QAAUsY,OAAO,GAAG9W,MAAO,CAC7C,GAAG+W,iBAAkB,CACnB,GAAIE,cAEJ,UAAS,mBAAsB,SAC7BF,kBAAoBA,iBAEtB,KAAI,GAAIlX,GAAE,EAAGA,EAAEkX,iBAAiBvY,OAAQqB,IAAK,CAE3C,GAAIyR,IAAK/R,OAAOwX,iBAAiBlX,GAEjC,UAAUyR,MAAO,WACf4F,QAAQC,MAAM,uCAA0CJ,iBAAmB,IAC7EE,YAAWpX,GAAKyR,GAGlB,MAAM,YAGR,GAAItR,OAAQ8W,OAAO,GAAG9W,KAEtB,IAAGA,MAAMkT,SAAS,SAAU,CAC1B,GAAGsC,OAAOtC,SAAS,WAAasC,OAAOtC,SAAS,WAAasC,OAAOtC,SAAS,QAC3E,OAAQzG,YAAaA,iBAErB,QAAQzC,iBAAkByC,iBACvB,IAAGzM,MAAMkT,SAAS,WACvB,OAAQhJ,SAAUiE,mBACb,IAAGnO,MAAMkT,SAAS,UACvB,OAAQ9I,QAASiE,kBACd,IAAGrO,MAAMkT,SAAS,SAAU,CAC/B,GAAIkE,YAAeP,cAAgB,WAAerB,SAAW,8BAC7D,QAAQ4B,WAAa/M,OAAS6D,YAAaI,YAAa8I,WAAa/M,OAASiE,iBACzE,IAAGtO,MAAMkT,SAAS,WAAalT,MAAMkT,SAAS,OAAQ,CAC3D,OAAQ1E,QAASA,aACZ,IAAGxO,MAAMkT,SAAS,WAAc2D,cAAgB,UAAY,CACjE,OAAQpM,QAASA,aACZ,IAAGzK,MAAMkT,SAAS,WAAY,CACnC,OAAQlI,SAAUA,WAKtB,GAAGgM,OAAUA,MAAMK,QAAU,EAAI,CAE/B,OAAQtM,OAAQA,QAGlB,OAAQJ,KAAKA,MAGf,QAAS2M,oBAAmBC,OAAQC,MAAOC,IAAK7T,MAC9C,GAAI8T,GAAIH,MACR,IAAII,UAEJ,KAAI,GAAI9X,GAAE,EAAGA,EAAE4X,IAAK5X,IAAK,CACvB8X,OAAO9X,IAAM6X,EAAG9T,KAChB8T,IAAKF,MAGP,MAAOG,QAGT,QAASC,yBAAwBC,YAAaC,MAAOhB,QACnD,GAAIiB,IAAK,IAET,KAAI,GAAIlY,GAAE,EAAGA,EAAEiX,OAAOtY,OAAQqB,IAAK,CACjC,GAAI+D,MAAOkT,OAAOjX,GAAG+D,IAErB,IAAGA,KAAKpF,OAASsZ,MAAO,CACpBZ,QAAQC,MAAM,2BAA6B5B,cAAcsC,YAAaf,OAAOjX,IAC3E,SAAW+D,KAAKpF,OAAS,qBAAuBsZ,MAEpDC,IAAK,UACA,IAAGnU,KAAKpF,OAASsZ,MAAO,CAE7BhB,OAAOjX,GAAG+D,KAAOoU,cAAcpU,KAAMkU,QAIzC,MAAOC,IAGT,QAASC,eAAcvC,MAAOwC,YAC5B,GAAGA,YAAcxC,MAAMjX,OACrB,MAAOiX,MAET,IAAI9R,OACJ,IAAIuU,WAAYD,WAAaxC,MAAMjX,MAEnC,SAAS2Z,MAAKC,GAAIC,GAAIX,GACpB,OAAQ,EAAIA,GAAKU,GAAKV,EAAIW,GAG5B,IAAI,GAAIxY,GAAE,EAAGA,EAAEoY,WAAYpY,IAAK,CAC9B,GAAIoE,OAAQpE,EAAIqY,SAChB,IAAII,QAAStP,KAAKE,MAAMjF,MACxB,IAAIsU,QAASvP,KAAKwP,IAAIxP,KAAKyP,KAAKxU,OAAQwR,MAAMjX,OAAO,EACrD,IAAIkZ,GAAIzT,MAAQ,CAChB,IAAIyU,GAAIP,KAAK1C,MAAM6C,QAAS7C,MAAM8C,QAASb,EAG3C/T,KAAIxB,KAAKuW,GAGX,MAAO/U,KAAI+H,MAAM,EAAGuM,YAItB,QAASU,iBAAgBC,aACvB,GAAI9B,UAEJ,KAAI,GAAIjX,GAAE,EAAGA,EAAE+Y,YAAYpa,OAAQqB,IACjCiX,OAAO3U,KAAKyW,YAAY/Y,GAAG+D,KAE7B,OAAOiQ,IAAGgF,UAAU/B,QAAQgC,IAAI,SAASlO,GACvC,MAAOA,GAAEkO,IAAI,SAASC,GACpB,MAAOA,OAERD,IAAI,SAASlO,GAAI,MAAOiJ,IAAGmF,IAAIpO,KAGpC,QAASqO,gBAAeC,WAAYC,MAAOC,MACzC,GAAIzB,UACJ,IAAID,GAAIyB,KAER,KAAI,GAAItZ,GAAE,EAAGA,EAAEqZ,WAAW1a,OAAQqB,IAAK,CACrC8X,OAAO9X,IAAM6X,EAAGwB,WAAWrZ,GAC3B6X,IAAK0B,KAGP,MAAOzB,QAIT,QAAS0B,iBAAgBC,YAAaC,cACpC,GAAGD,YAAY9a,SAAW+a,aAAa/a,OAAQ,CAC7C0Y,QAAQsC,KAAK,iCAAmCF,YAAY9a,OAAS,OAAS+a,aAAa/a,OAC3F,QAGF,GAAImF,OACJ,IAAI0T,SAAU,CAEd,KAAI,GAAIxX,GAAE,EAAGA,EAAEyZ,YAAY9a,OAAQqB,IAAK,CACtC,GAAIqI,OAAQc,KAAKyQ,IAAI,EAAGH,YAAYzZ,GAAK0Z,aAAa1Z,GACtDwX,SAAUrO,KAAKyQ,IAAIpC,QAASnP,MAE5BvE,KAAIxB,KAAK+F,OAGX,GAAGmP,QAAU,GACX,MAAO1T,KAGX,QAAS+V,gBAAeC,WAAYC,SAAUR,MAC5C,GAAIS,OAEJ,KAAI,GAAInC,GAAEiC,WAAYjC,EAAEkC,SAAUlC,GAAG0B,KACnCS,IAAI1X,KAAKuV,EAEX,OAAOmC,KAGT,QAASC,cAAaC,MAAOlV,OAAQmV,WAAYC,aAC/C,GAAIpJ,YAAchM,OAAOqV,UAAYrV,OAAOsV,WAC5C,IAAIC,OAAOC,MAAOC,UAAWC,WAAYC,IAAM,UAK/C,IAAIC,gBAED,GAAI,EAAG,WAAY,EAAG,IACtB,GAAI,EAAG,WAAY,EAAG,IACtB,IAAK,EAAG,WAAY,GAAI,KACxB,IAAK,EAAG,WAAY,GAAI,KACxB,IAAK,EAAG,WAAY,GAAI,KACxB,KAAM,EAAG,WAAY,GAAI,MACzB,KAAM,GAAI,WAAY,GAAI,MAC1B,KAAM,GAAI,QAAS,IAAK,MACxB,MAAO,GAAI,QAAS,IAAK,MACzB,MAAO,GAAI,QAAS,KAAM,OAC1B,MAAO,IAAK,QAAS,KAAM,OAC3B,MAAO,IAAK,QAAS,KAAM,OAC3B,OAAQ,IAAK,YAAa,KAAM,QAChC,OAAQ,KAAM,WAAY,MAAO,QACjC,QAAS,KAAM,WAAY,MAAO,SAClC,QAAS,KAAM,WAAY,MAAO,SAClC,QAAU,MAAO,WAAY,QAAS,SACtC,SAAU,MAAO,WAAY,QAAS,SAGzC,KAAI,GAAI5a,GAAE,EAAGA,EAAE4a,aAAajc,OAAQqB,IAAK,CACvC,GAAI6a,OAAQD,aAAa5a,EAEzB,IAAGgR,YAAc6J,MAAM,GAAI,CACzBN,MAAQM,MAAM,EACdH,YAAaG,MAAM,EACnBF,KAAME,MAAM,EACZL,OAAQK,MAAM,EACdJ,WAAYI,MAAM,EAClB,QAIJH,WAAavR,KAAKyQ,IAAIQ,YAAaM,WAEnC,IAAGF,MAAO,CACRA,MAASL,YAAeI,OAAS,MAAyEpR,KAAKyQ,IAAIY,MAAOL,YAAc,CACxInV,QAAOsV,aAAetV,OAAOsV,YAAcE,KAC3CxV,QAAOqV,WAAarV,OAAOqV,UAAYG,KACvCxJ,YAAchM,OAAOqV,UAAYrV,OAAOsV,WACxCtV,QAAO8V,MAAQ3R,KAAKyP,KAAK5H,WAAa0J,WAGtC1V,QAAOqV,WAAalR,KAAKyP,KAAK5H,WAAahM,OAAO8V,OAAS9V,OAAO8V,MAAQ9J,UAC1EkJ,OAAMM,MAAQA,KACdN,OAAMO,UAAYA,cAElBP,OAAMO,UAAY,IAEpBP,OAAMa,MAAQJ,IAGhB,QAASK,gBAAeC,SAAUvD,QAChC,SAAUwD,mBAAoB,SAAU,CACtC,GAAGA,gBAAgBD,UAAW,CAC5B,GAAIE,WAAYD,gBAAgBD,UAAUE,SAE1C,IAAGA,UAAW,CACZ,GAAIC,QAAS5P,KAAK6P,MAAQ,GAC1B,IAAIC,OAAQF,OAAS1D,MAErB,KAAI,GAAI1X,GAAE,EAAGA,EAAEmb,UAAUxc,OAAQqB,IAAK,CACpC,GAAIub,SAAUN,SAAWE,UAAUnb,GAAGwb,cACtC,IAAIC,QAASF,QAAUJ,UAAUnb,GAAG0b,YACpCJ,QAASG,MAET,IAAGH,OAAS,EACV,MAAOC,YAKjB,MAAON,UAGT,QAASU,oBACP,aAActH,YAAW3U,OAAOmT,SAAStG,QAAQ+N,cAAgB,YAGnE,GAAIsB,oBAAsBjJ,QAAa,MAAKA,QAAQhB,MAAgB,WAAI,CAExE,SAASkK,qBAAoBvB,YAAaD,WACxC,GAAIyB,eAAgB3d,EAAE,wBAAwB4F,KAAK,WACnD,IAAIgY,kBAAmB1B,UAAYC,WACnC,OAAOwB,gBAAiBC,iBAG1B,QAASC,gBAAe1B,YAAaD,WACnC,GAAI4B,UAAW9d,EAAE,wBAAwB4F,KAAK,WAC9C,KAAIsW,UAAY4B,UAAU,IAAO9d,EAAEkd,MACjCld,EAAE,wBAAwByI,SAAS,gBAEnCzI,GAAE,wBAAwB0I,YAAY,YAG1C,QAASqV,iBACP/d,EAAE,qBAAqBge,OAGzB,QAASC,iBACPje,EAAE,qBAAqBke,OAGzB,QAASC,gBAAerF,QACtB,MAAOA,QAAOsF,OAAO,SAASC,IAAKzR,GACjC,MAAOyR,KAAMzR,EAAE+M,OAAOyE,OACpB,SAASC,IAAKC,IACZ,MAAOD,KAAMC,GAAG,IAAM,GACrB,IAEJ,GAIL,QAASC,4BAA2BxC,MAAOlC,YAAa2E,SAAUC,cAAe5X,OAAQuU,KAC/EvC,YAAamD,WAAY0C,gBAAiBC,cAAeC,gBACjE,GAAIC,uBAAwB,IAC5B,IAAIC,uBAAwB,IAC5B,IAAIC,QAASlJ,GAAGtR,OAAOia,SACvB,IAAIQ,QAAShf,EAAEwe,SACf,IAAIS,aAAcjf,EAAEye,cACpB,IAAIS,aAAclf,EAAE,cACpB,IAAImf,cAAetC,eAAezB,KAAMvU,OAAOsV,aAAe,CAC9D,IAAIiD,kBAAoBvY,OAAOqV,UAAYrV,OAAOsV,WAClD,IAAIkD,aAAeD,kBAAoBD,YACvC,IAAIvY,KAAMyO,YAAc,iCACxB,IAAIiK,YAAa,IACjB,IAAIC,mBAAoB,IACxB,IAAIC,0BAA2B,KAC/B,IAAIC,iBAAkB,qBACtB,IAAIC,sBAAuB,CAC3B,IAAIC,aAAc,IAClB,IAAIC,2BAA4B,CAChC,IAAIC,iBAAkB,CACtB,IAAIC,mBAAoB,KACxB/D,OAAMgE,UAActC,mBAAqB,GAAMD,kBAG/C,IAAIwC,SAAUhgB,EAAE,oEAChBgf;OAAOle,SAASP,IAAI,WAAY,WAEhC,IAAI0f,oBACF,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UAGF,IAAIC,mBAAoB,UAAW,UAAW,UAG9C,IAAIC,cAAe,IACnB,IAAIC,cAAe,IACnB,IAAIC,WAAY,IAChB,IAAIC,WAAY,IAChB,IAAIC,WAAY,IAEhB,IAAIC,mBAAoB,SAASC,UAE/B1B,OAAO2B,UAAUC,KAAK5E,MACtBgD,QAAO2B,MAAMD,SAMb1B,QAAO6B,aAAa9C,SAAS,KAAK6C,KAAK5E,MAEvC,IAAGwE,UAAW,CACZJ,aAAepE,MAAM8E,OAAOC,OAC5BV,cAAerE,MAAMgF,OAAOD,OAC5BT,WAAYtE,MAAMiF,UAClBV,WAAYvE,MAAMkF,UAClBV,WAAY,MAGd,GAAG1H,cAAgB,QAAS,CAC1B,GAAIqI,eAAgBnF,MAAM8E,OAAO5Q,QAAQkR,QACzC,IAAIC,eAAgBrF,MAAMgF,OAAO9Q,QAAQkR,QAEzCD,eAAgBA,cAAc,GAAKA,cAAc,EACjDE,eAAgBA,cAAc,GAAKA,cAAc,EASjD,IAAGrF,MAAM8E,OAAO/N,cAAgB/F,OAC9BgP,MAAM8E,OAAOC,MAAM9V,KAAKwP,IAAI0G,cAAef,cAC7C,IAAGpE,MAAMgF,OAAOjO,cAAgB/F,OAC9BgP,MAAMgF,OAAOD,MAAM9V,KAAKwP,IAAI4G,cAAehB,eAG/C,GAAIiB,QAASlD,eAAesC,SAASpgB,OAAO,SAASuM,GAAK,MAAOA,GAAE0U,OAAS,IAC5E,IAAIC,QAASpD,eAAesC,SAASpgB,OAAO,SAASuM,GAAK,MAAOA,GAAE0U,OAAS,IAG5E,IAAGD,QAAU,EACXtF,MAAMiF,UAAU,EAAG,QAEnBjF,OAAMiF,SAASX,UAEjB,IAAGkB,QAAU,EACXxF,MAAMkF,UAAU,EAAG,QAEnBlF,OAAMkF,SAASX,UAGjBvB,QAAO4B,KAAK5E,MACZyF,IAAGC,MAAMC,aAAa3F,MAAM4F,OAC5B3B,SAAQ/f,SAGV,SAAS2hB,kBAAiBpa,IAAKqa,aAC7B,SAAUC,gBAAiB,YAAa,CACtC,GAAIne,KAAMme,aAAaC,QAAQ,yBAA2Bva,IAE1D,IAAG7D,KAAO,KACR,MAAOA,OAAQ,OAGnB,MAAOke,aAGT9F,MAAMiG,OAAOC,SAASzd,GAAG,cAAe,SAAS4I,EAAEvL,GACjD,GAAGuL,EAAE8U,WAAWpU,QAAQ,SAAW,EACjC0R,yBAA2B,IAE7B,UAAUsC,gBAAiB,YACzBA,aAAaK,QAAQ,yBAA2B/U,EAAE8U,YAAc9U,EAAEsG,SAAY,KAAO,QAGzFqI,OAAMkG,SAASzd,GAAG,OAAQ,SAAS4P,GACjC,GAAIgO,WAAYvb,OAAOsV,YAAatV,OAAOqV,UAC3C,IAAImG,SAAUrX,KAAKE,MAAMkJ,EAAEkO,QAAQ,GACnC,IAAIC,OAAQvX,KAAKyP,KAAKrG,EAAEkO,QAAQ,GAChC,IAAIE,YAAazG,MAAMgE,SACvB,IAAI0C,oBAAuBrO,GAAEqO,eAAiB,YAAerO,EAAEqO,aAAe,IAC9E1G,OAAMgE,UAAY,IAElB,IAAGhE,MAAM2G,mBAAmBL,QAASE,MAAO,MAAOE,cAAe,CAChE,GAAGA,cAAgBrO,EAAEuO,WAAY,CAE/BlF,oBAAsB,CACtB,IAAI7W,KAAM4P,sBAAsB2F,YAAakG,QAASnG,UAAWqG,OACjE/N,SAAQoO,WAAWC,WAAYpF,mBAAoBf,OAAQ2F,QAASE,QAAS,GAAI3b,KAGnFmV,MAAM+G,sBAEN/G,OAAMgE,UAAYyC,YAGtB,SAASO,YAAWC,KAAMP,aAAcQ,OACtC,GAAIZ,SAAUW,KAAK,EACnB,IAAIT,OAAQS,KAAK,EAEjBjH,OAAM2G,mBAAmBL,QAASE,MAAO,MAAOE,aAAc,KAAMQ,MACpElH,OAAM+G,kBAGR/G,MAAMmH,QAAU,WACd,GAAIC,cAAetc,OAAOqV,UAAYrV,OAAOsV,WAE7C,IAAGgH,aAAe,GAAI,CACpB,GAAIhG,OAAQgG,aAAa,CACzBnjB,GAAE,iBAAiB4F,KAAK,kBAAkBwd,KAAK,GAAI/V,OAAMxG,OAAOsV,YAAcgB,OAAS,KACvFnd,GAAE,eAAe4F,KAAK,kBAAkBwd,KAAK,GAAI/V,OAAMxG,OAAOqV,UAAYiB,OAAS,KACnFkG,2BAIJtH,OAAMuH,SAAW,WACf,GAAIH,cAAetc,OAAOqV,UAAYrV,OAAOsV,WAS7C,IAAIgB,OAAQgG,aAAa,CAIzBnjB,GAAE,iBAAiB4F,KAAK,kBAAkBwd,KAAK,GAAI/V,OAAMxG,OAAOsV,YAAcgB,OAAS,KACvFnd,GAAE,eAAe4F,KAAK,kBAAkBwd,KAAK,GAAI/V,OAAMxG,OAAOqV,UAAYiB,OAAS,KACnFkG,0BAIFrE,QAAOxa,GAAG,WAAY,SAAS+e,OAC7B,GAAGvjB,EAAEujB,MAAMhP,QAAQhP,SAAS,kBAE1B,MAEFwW,OAAMuH,YAGRrE,aAAYza,GAAG,QAAS,WACtB,GAAGiZ,mBAAoB,CAErBjJ,QAAQgP,IAAI/F,sBAIhBlc,QAAOkiB,iBAAiB,WAAY,SAASrP,GAC3C,GAAI4O,MAAOrE,aAGX,IAAGvK,EAAEZ,MAAO,CACVwP,KAAO5O,EAAEZ,MAAMkJ,KACfe,oBAAqBrJ,EAAEZ,MAAMqP,eAE7BpF,oBAAqB,CAEvBsF,YAAWC,KAAM,KAAM,OAGzBjH,OAAM+G,gBAAkB,WACtB,GAAIrF,mBAAqB,GAAMD,mBAAoB,CACjD0B,YAAYlc,KAAK,sCACdyF,SAAS,oBACTC,YAAY,cACfwW,aAAYlc,KAAK,oBAAoBzC,IAAI,aAAc,UAEvD,IAAImjB,WAAYxE,YAAYlc,KAAK,yBACjC,IAAId,MAAOwhB,UAAU/f,MAAMmJ,QAAQ,kBAAmB,GACtD5K,OAAQ,gBAAkB2E,OAAOsV,YAAc,cAAgBtV,OAAOqV,SACtEwH,WAAU/f,IAAIzB,UACT,CACLgd,YAAYlc,KAAK,qBACdyF,SAAS,cACZyW,aAAYlc,KAAK,oBAAoBzC,IAAI,aAAc,SACvDwb,OAAMgE,UAAY,MAGpBlC,eAAehX,OAAOsV,YAAatV,OAAOqV,UAE1C,IAAGuB,mBAAqB,EACtBwB,YAAYjB,WAEZiB,aAAYf,OAGhB,SAASyF,uBACP,GAAIC,UAAW5jB,EAAE,gBACjB,IAAI6jB,kBAAoBjF,gBAAmB5e,EAAE,iBAAiBO,IAAI,aAAe,OAAW,EAAI,CAEhGsf,kBAAmB,CAEnB,IAAGA,iBAAmBgE,iBAAkB,CACtC,GAAGlE,YAAa,CACdmE,cAAcnE,YACdA,aAAc,KAGhB1B,iBAIJlC,MAAMgI,gBAAkB,WACtB,MAAOjE,mBAGT/D,OAAMiI,WAAa,WACjBlE,kBAAoB,IAEpB,IAAGjB,sBAAuB,CACxBA,sBAAsBoF,OACtBlI,OAAMmI,OAAOpY,KAAKgU,kBAClBU,uBAGF,GAAG1B,sBACDA,sBAAsBmF,OAExB,IAAGtE,YAAa,CACdmE,cAAcnE,YACdA,aAAc,KAGhB1B,gBAGFlC,OAAMoI,sBAAwB,WAC5BR,qBACA7E,uBAAwB,KAG1B/C,OAAMqI,WAAa,WACjB,GAAIC,aAAchR,OAAO9K,UAAW1B,cAC7Bwd,aAAYrB,WACZqB,aAAYC,UACnBD,aAAYE,SAAW,CACvB,OAAO3d,KAAM,IAAM5G,EAAE4W,MAAMyN,YAAa,MAG1C,IAAIG,WAAWC,QAASC,YAGxB3I,OAAM2G,mBAAqB,SAAUnJ,OAAQoL,KAAMC,WAAYnC,aAAcoC,iBAAkBC,cAC7F,GAAGvL,OAAQ1S,OAAOsV,YAAc5C,MAChC,IAAGoL,KAAM9d,OAAOqV,UAAYyI,IAE5B,IAAIxB,cAAgBtc,OAAOqV,UAAYrV,OAAOsV,WAC9C,IAAIF,aAAcY,eAAezB,KAAMvU,OAAOsV,YAC9CgD,cAAelD,YAAc,CAE7B,IAAGkH,aAAehE,aAAc,CAC9B,GAAIE,aAAgB8D,aAAeuB,eAAmBI,aAAc,CAClEJ,aAAevB,YACf,OAAO,OAGT,IAAI2B,aAAc,CAEhB,GAAI3X,OAAQtG,OAAOsV,aAAetV,OAAOqV,UAAYrV,OAAOsV,aAAe,CAC3E,IAAI4I,SAAU/Z,KAAKE,MAAMiC,MAAQgS,aAAe,EAEhD,IAAG4F,QAAU,KAAQ1X,KAAK6P,MAAO,CAE/BrW,OAAOsV,YAActV,OAAOqV,UAAYiD,iBACnC,CACLtY,OAAOsV,YAAcnR,KAAKE,MAAMiC,MAAQgS,aAAe,EACvDtY,QAAOqV,UAAYlR,KAAKE,MAAMiC,MAAQgS,aAAe,GAGvDE,YAAc,IACdtD,OAAMiJ,SAAS,WAEZ,IAAI7B,aAAehE,aAAc,CACtCE,YAAc,KACdtD,OAAMiJ,SAAS,KAGjBN,aAAevB,YAEf,KAAI7D,YAAc9B,oBAAsBsH,aACtC9I,WAAa,IACfF,cAAaC,MAAOlV,OAAQmV,WAAYC,YAExC,IAAGqD,WACDX,eAAiB9X,OAAOsV,YAAatV,OAAOqV,UAE9C,IAAIsI,WAAa3d,OAAOsV,aAAiBsI,SAAW5d,OAAOqV,YAAgB4I,aACzE,MAAO,MAETN,WAAY3d,OAAOsV,WACnBsI,SAAU5d,OAAOqV,SAEjB,IAAG4C,sBACDA,sBAAsBmF,OAExB,IAAGpF,sBACDA,sBAAsBoF,YACnB,KAAIW,WACP5E,QAAQ7M,SAAS6L,OAAOle,SAG1Bd,GAAE,iBAAiB4F,KAAK,kBAAkBwd,KAAK,GAAI/V,MAAKxG,OAAOsV,YAAc,KAC7Enc,GAAE,eAAe4F,KAAK,kBACnBqf,QAAQ,GAAI5X,MAAKrN,EAAEkd,QACnBkG,KAAK,GAAI/V,MAAKrC,KAAKwP,IAAI3T,OAAOqV,UAAY,IAAMlc,EAAEkd,QAErD,IAAGyC,YACDmE,cAAcnE,YAEhBA,aAAcuF,YAAYnH,cAAe6B,0BAA4B,IACrEC,iBAAkB,CAClBC,mBAAoB,KACpB/D,OAAMmI,OAAOpY,KAAKqZ,kBAClBlH,gBAEA,IAAImH,YAAaplB,EAAEuI,UAAW1B,OAE9B,KAAI6W,oBAAoB0H,WAAWjJ,YAAaiJ,WAAWlJ,iBAClDkJ,YAAWd,UAGpBzF,uBAAwB7e,EAAEqlB,IAAIze,IAAKwe,WAAY,SAASxf,MACtD,GAAGA,MAAQA,KAAKuT,MACd4C,MAAMmI,OAAOte,KAAKuT,MAEpB,KAAIvT,OAASA,KAAKkT,SAAWlT,KAAKkT,OAAOtY,SAAWoZ,wBAAwBC,YAAajU,KAAKkU,MAAOlU,KAAKkT,QAAS,CACjH0H,qBACA,QAIF,GAAIlE,WAAYtR,KAAKyP,KAAKsB,MAAMO,UAAY1W,KAAKwV,MAAQxV,KAAKwV,IAC9DW,OAAMuJ,MAAMC,WAAW7J,eAAe9V,KAAKuV,MAAOvV,KAAKuV,MAAQvV,KAAKkU,MAAQlU,KAAKwV,KAAMkB,WACvFP,OAAMuJ,MAAMxS,WAAW,SAAS1F,GAAK,MAAOyI,IAAGC,KAAKxE,OAAOyK,MAAMa,OAAO,GAAIvP,MAAKD,EAAE,OAGnF,IAAIzH,OACJ,IAAImT,QAASlT,KAAKkT,MAClB,IAAIwC,YACJ,IAAIkK,SAAU,CAEd,IAAIC,cAAgB3M,OAAOtY,QAAU0f,iBAAiB1f,OAAU0f,iBAAmBD,iBAEnF,KAAI,GAAIyF,GAAE,EAAGA,EAAE5M,OAAOtY,OAAQklB,IAAK,CACjC,GAAI/L,UACJ,IAAIuB,YAAapC,OAAO4M,GAAG9f,IAE3B,IAAI8T,GAAI9T,KAAKuV,KACb,KAAI,GAAItZ,GAAE,EAAGA,EAAEqZ,WAAW1a,OAAQqB,IAAK,CACrC8X,OAAO9X,IAAM6X,EAAGwB,WAAWrZ,GAC3B6X,IAAK9T,KAAKwV,KAGZ,GAAI1D,eAAgBqE,MAAM4J,yBAC1B,IAAI3jB,OAAQuV,cAAcsC,YAAaf,OAAO4M,GAAIhO,cAAegO,EACjE,IAAIxD,YAAarI,YAAc,IAAM7X,KACrC+Z,OAAM6J,aAAehgB,KAAKwV,IAE1BzV,KAAIxB,MACFqD,IAAKxF,MACLsf,MAAOxI,OAAO4M,GAAGG,MAAQ,EACzBlM,OAAQA,OACR1S,KAAM6R,OAAO4M,GAAGze,MAAQ,OACxB6e,MAAOL,aAAaD,WACpBtD,WAAYA,WACZxO,SAAUkO,iBAAiBM,WAAY,SAI3C,GAAI3G,cAAeZ,gBAAgB7B,OACnC,IAAIiN,eAAgB,KAEpB,IAAGngB,KAAKogB,mBAAqBpgB,KAAKogB,kBAAkBC,MAAO,CACzD3K,YAAc1V,KAAKogB,kBAAkBC,KAGrC,IAAIC,aAAc7K,gBAAgBC,YAAaC,aAE/C,IAAG2K,YAAa,CACdvgB,IAAIxB,MACFqD,IAAK0P,WAAW7T,MAChBie,MAAO,EACP3H,OAAQsB,eAAeiL,YAAatgB,KAAKuV,MAAOvV,KAAKwV,MACrDnU,KAAM,OACN6e,MAAOL,aAAaD,WACpBtD,WAAY,QACZxO,SAAUkO,iBAAiB,QAAS,QAGtCmE,eAAgB,UAEb,CACLzK,YAAcC,YACdwK,gBAAiBlM,YAAYhM,WAAW,QAG1C,GAAIsY,YAAa,IAEjB,IAAGvgB,KAAKogB,kBAAmB,CACzB,IAAI,GAAIxe,OAAO5B,MAAKogB,kBAAmB,CACrC,GAAGxe,KAAO,QAAS,CAEjB,SAGF,GAAI0T,YAAalB,cAAcpU,KAAKogB,kBAAkBxe,KAAM5B,KAAKkU,MACjE,IAAIsM,kBAAmBvQ,GAAG4F,IAAIP,YAAcrF,GAAG4F,IAAIF,aACnD,IAAI5B,QAASsB,eAAeC,WAAYtV,KAAKuV,MAAOvV,KAAKwV,KACzD,IAAIiL,aAAczE,iBAAiBpa,IAAK,MACxC2e,YAAajL,UAGb,KAAIqE,oBAAsBC,2BAA8B4G,iBAAmB1G,qBACzE2G,YAAc,IAEhB1gB,KAAIxB,MACFqD,IAAK8F,sBAAsB9F,KAC3B8Z,MAAO,EACP3H,OAAQA,OACR1S,KAAM,OACNqf,QAAS,4BACTR,MAAO,UACP5D,WAAY1a,IACZkM,SAAU2S,eAKhB,IAAIzgB,KAAK2gB,UAAYR,eAAkBzK,YAAY9a,QAAU,EAAI,CAG/D,GAAIgmB,qBAAsBxb,KAAKwP,IAAIxP,KAAKyQ,IAAIzQ,KAAKE,MAAMoQ,YAAY9a,OAAS,GAAI,GAAI,GAEpF,IAAIimB,mBACFC,OAAQxP,WAAWwP,MAAO,UAAWC,OAAQH,qBAC7CI,KAAM,MAAO,UAAWC,+BAAgCC,QAASN,sBACjEO,KAAM,MAAO,UAAWC,0BAA2BF,QAASN,sBAC5DS,KAAM,kBAAmB,UAAWC,4BAA6BJ,QAASN,sBAG5E,SAASW,oBAAmBC,WAC1B,GAAI1kB,SAAU+jB,iBAAiBW,UAC/B,IAAIC,SAEJ,IAAGD,WAAa,MAAO,CACrB,IAAIjB,WACF,MAEF,IAAImB,eACJ,KAAI,GAAIzlB,GAAE,EAAGA,EAAEyZ,YAAY9a,OAAQqB,IAAK,CACtCylB,YAAYzlB,GAAKyZ,YAAYzZ,GAAKskB,WAAWtkB,GAE/CwlB,SAAW3kB,QAAQ,GAAG4kB,YAAa5kB,QAAQ,QAE3C2kB,UAAW3kB,QAAQ,GAAG4Y,YAAa5Y,QAAQ,GAG7C,IAAG2kB,SAAS,SACHA,UAAS,EAElB,IAAIhO,SAAUxD,GAAG4F,IAAI4L,SACrB,IAAGhO,QAAU,EAAG,CACd,GAAIkO,QAEJ,IAAIH,WAAa,OAAWA,WAAa,OAAWA,WAAa,MAAQ,CACvE,GAAInX,OAAQ4F,GAAG4F,IAAIH,aAAejC,OAClC,IAAImO,QAASxnB,EAAE8a,IAAIuM,SAAU,SAASza,GAAK,MAAOA,GAAIqD,OACtDsX,SAAUvN,cAAcwN,OAAQ5hB,KAAKkU,WAChC,CACL,GAAI2N,WAAa7hB,KAAKkU,MAAQuN,SAAS7mB,MACvC,IAAIknB,SAAUD,UAAYjB,oBAAsBiB,UAAYjB,mBAG5D,KAAI,GAAI3kB,GAAE,EAAGA,EAAE6lB,QAAS7lB,IACtBwlB,SAASM,OAAO,EAAG,EAAGN,SAAS,GAEjCE,SAAUvN,cAAcqN,SAAUzhB,KAAKkU,OAGzC,GAAGsN,WAAa,MACdrL,MAAM6L,eAAe,EAEvBjiB,KAAIxB,MACFqD,IAAK9E,QAAQ,GACb4e,MAAQ8F,WAAa,MAAS,EAAI,EAClCzN,OAAQsB,eAAesM,QAAS3hB,KAAKuV,MAAOvV,KAAKwV,MACjDnU,KAAM,OACNqf,QAAS,gBACTR,MAAOpjB,QAAQ,GACfwf,WAAYkF,UACZ1T,SAAUkO,iBAAiBwF,UAAW,UAK5C,GAAG1I,gBAAiB,CAClB,IAAI0I,YAAaX,kBACfU,mBAAmBC,eAErBD,oBAAmB,SAIvB,GAAIU,YAAajP,kBAAkBiB,YAAahB,YAAaC,OAAOzY,OAAO,SAAS+M,GAAK,MAAOA,GAAEyY,MAAQ,IAAQnO,cAAcoQ,gBAAiBliB,KAAKmiB,WACtJ,IAAID,iBAAkBD,WAAW,EACjC,IAAIG,eAAgBH,WAAW,IAAMC,eACrC,IAAIG,iBAAkBJ,WAAW,IAAMC,eACvC/L,OAAM8E,OAAO/N,WAAWgV,gBACxB/L,OAAMmM,iBAAmBJ,eAEzB,IAAIK,oBAAqBrP,OAAOzY,OAAO,SAAS+M,GAAK,MAAOA,GAAEyY,MAAQ,GACtE,IAAIuC,YAAaxP,kBAAkBiB,YAAahB,YAAasP,mBAAoBzQ,cAAc2Q,kBAAoB3Q,cAAcoQ,gBAAiBliB,KAAKmiB,WACvJ,IAAIM,kBAAmBD,WAAW,EAClCrM,OAAMgF,OAAOjO,WAAWuV,iBACxBtM,OAAMuM,iBAAmBD,gBAEzB,IAAIE,aAAcvoB,EAAE,kBACpB,IAAIgZ,OAAQpT,KAAKmiB,UAEjB,IAAG/O,MAAO,CACR,GAAGA,MAAMwP,QAAS,CAChB,GAAI7O,QAASL,mBAAmB1T,KAAKuV,MAAOvV,KAAKwV,KAAMxV,KAAKkU,MAAOd,MAAMwP,QAEzE7iB,KAAIxB,MACFqD,IAAK0P,WAAWuR,IAChBnH,MAAO,EACP3H,OAAQA,OACR1S,KAAM,OACNqf,QAAS,4BACTR,MAAO,UACP5D,WAAY,MACZxO,SAAUkO,iBAAiB,MAAO,QAItC,GAAI8G,YAAaH,YAAYvlB,KAAK,mBAClC,IAAI2lB,cAAeJ,YAAYvlB,KAAK,qBACpC,IAAI4lB,UAAWL,YAAYvlB,KAAK,iBAChC,IAAI6lB,UAAWN,YAAYvlB,KAAK,iBAChC,IAAI8lB,WAAYP,YAAYvlB,KAAK,0BAGjC,IAAGgW,MAAMiN,OAASyC,WAAWxf,GAAG,YAC9Bwf,WAAW1K,OAAOhb,KAAK,QAAQvC,KAAKunB,cAAchP,MAAMiN,OAC1D,IAAGjN,MAAMwP,SAAWG,aAAazf,GAAG,YAClCyf,aAAa3K,OAAOhb,KAAK,QAAQvC,KAAKwnB,gBAAgBjP,MAAMwP,SAC9D,KAAIxP,MAAM+P,SAAWH,SAAS1f,GAAG,cAAgBvD,IAAI,GAAGgU,OAAOX,MAAMgQ,aACnEJ,SAAS5K,OAAOhb,KAAK,QAAQvC,KAAKwnB,gBAAgBjP,MAAM+P,SAAW,MAAQ,GAAK1b,MAAK1H,IAAI,GAAGgU,OAAOX,MAAMgQ,aAAa,GAAK,KAAO1X,OAAOmO,iBAC3I,KAAIzG,MAAMK,SAAWwP,SAAS3f,GAAG,cAAgBvD,IAAI,GAAGgU,OAAOX,MAAMiQ,aACnEJ,SAAS7K,OAAOhb,KAAK,QAAQvC,KAAKwnB,gBAAgBjP,MAAMK,SAAW,MAAQ,GAAKhM,MAAK1H,IAAI,GAAGgU,OAAOX,MAAMiQ,aAAa,GAAK,KAAO3X,OAAOmO,iBAC3I,IAAGzG,MAAM,oBAAsB8P,UAAU5f,GAAG,YAAa,CACvD4f,UAAU9K,OAAOhb,KAAK,QAAQvC,KAAKwnB,gBAAgBjP,MAAM,oBAEzD,IAAIW,QAASL,mBAAmB1T,KAAKuV,MAAOvV,KAAKwV,KAAMxV,KAAKkU,MAAOd,MAAM,mBAEzErT,KAAIxB,MACFqD,IAAK0P,WAAW,WAChBoK,MAAO,EACP3H,OAAQA,OACR1S,KAAM,OACNqf,QAAS,4BACTR,MAAO,UACP5D,WAAY,SACZxO,SAAUkO,iBAAiB,SAAU,SAO3C2G,YAAYvK,MAEZ,IAAIkL,gBAAiBvjB,IAAItF,OAAO,SAAS+M,GAAK,MAAOA,GAAEsG,WAAa,MAEpE,IAAGyU,mBAAmB3nB,OAAS,GAAK0oB,eAAe1oB,QAAU,EAAG,CAE9D,IAAI,GAAIqB,GAAE,EAAGA,EAAE8D,IAAInF,OAAQqB,IACzB8D,IAAI9D,GAAG6R,SAAW,MAGtB,GAAGyU,mBAAmB3nB,OAAS,EAAG,CAEhCub,MAAMiG,OAAOmH,YAAY,OAG3B3I,kBAAkB7a,IAClB4Z,mBAAoB,KAEpB,IAAG3Z,KAAKwjB,mBACNppB,EAAE,6CAA6CS,KAAKmF,KAAKwjB,sBAC1DC,KAAK,SAASC,IAAKC,OAAQpQ,OAC5B,GAAImQ,IAAIE,YAAa,QAAS,CAC5B,OAGFtQ,QAAQC,MAAM,+CAAiDoQ,OAAS,MAAQpQ,MAChF4C,OAAMmI,OAAO/K,MACbqH,yBACCiJ,OAAO,SAAS7jB,KAAM2jB,OAAQD,KAC/B3F,qBACA9E,uBAAwB,MAG1B,IAAGS,WAAY,CACbA,WAAa,KAGbtf,GAAE,WACA,GAAI4jB,UAAW5jB,EAAE,iBAAiB4F,KAAK,YACvC,IAAGge,SACD9E,sBAAwB8E,SAAS8F,qBAEhC,CACL,GAAI9F,UAAW5jB,EAAE,gBAGjB,IAAG4e,eAAgB,CAEjB+K,sBAAsB,KAAM9iB,OAE5B,IAAG7G,EAAE,iBAAiBO,IAAI,aAAe,OACvCue,sBAAwB8E,SAAShe,KAAK,aAAa8jB,gBAIzD,SAAU7E,oBAAqB,WAC7BA,iBAAiB9I,MAEnB,OAAO,OAIX,GAAI6N,gBAAiB,IACrB,IAAIC,sBAAuB,IAC3B,IAAIC,wBAAyB,IAE7B,SAASC,eAAcC,UACrB,MAAOA,UAASxf,MAAM,KACpB4T,OAAO,SAASvX,OAAQqD,OACtB,GAAI+f,KAAM/f,MAAM4D,QAAQ,IAExB,IAAGmc,MAAQ,EAAG,CACZ,GAAIzX,GAAItI,MAAMwD,MAAM,EAAGuc,IACvB,IAAIvP,GAAIxQ,MAAMwD,MAAMuc,IAAI,EACxBpjB,QAAO2L,GAAKkI,EAGd,MAAO7T,aAKb,QAASqjB,4BACP,GAAIC,YAAaC,iBACjB,IAAI1X,OAAS2X,aAAanO,UAAYmO,aAAalO,WACnD,IAAImO,iBAAkB,KACtBtqB,GAAE,iBAAiBge,MACnBhe,GAAE,0BAA0Bge,MAE5B,KAAIuM,UAAWJ,YAAY,CACzB,GAAIK,MAAOL,WAAWI,QACtB,IAAIE,MAAOzqB,EAAE,IAAMwqB,KAAKE,QAExB,IAAGhY,OAAS8X,KAAKG,SAAU,CACzB,GAAGf,eAAetV,KAAOiW,QACvBD,gBAAkB,IAEpBG,MAAKvM,WAELuM,MAAKzM,OAIT,GAAI4M,UAAW5qB,EAAE,6BAA6BoB,QAAQ,cAAc4B,KAAK,WAEzE4nB,UAAS5nB,KAAK,sBAAsBtB,KAAK,SAASmpB,IAAIzW,GACpD,GAAI0W,WAAY9qB,EAAEoU,GAAG2W,QAAQ,MAAM1qB,OAAO,SAASwqB,IAAIzW,GACrD,MAAQpU,GAAEoU,GAAG7T,IAAI,aAAe,SAAaP,EAAEoU,GAAGxQ,KAAK,kBACtDX,OACH,IAAI+nB,SAAUhrB,EAAEoU,GAAG2W,QAAQ,YAAY9nB,OAEvC,KAAI6nB,UAAUlnB,KAAK,gBAAiB,CAClC5D,EAAEoU,GAAG8J,MACL8M,SAAQ9M,WACH,CACLle,EAAEoU,GAAG4J,MACLgN,SAAQhN,SAIZ,IAAGsM,gBAAiB,CAElB,GAAIW,YAAaL,SAAS5nB,KAAK,oBAAoB3C,OAAO,SAASwqB,IAAIzW,GACnE,MAAOpU,GAAEoU,GAAG7T,IAAI,aAAe,SAC9B0C,OAEL,IAAGgoB,WAAWzqB,OACZ0qB,yBAAyBD,WAAWrnB,KAAK,qBACtC,CACH5D,EAAE,iBAAiBke,MACnBle,GAAE,0BAA0Bke,OAG9B,MAAO,OAGT,MAAO,MAGT,QAASyL,uBAAsBa,KAAMH,aAAcc,WAAYC,aAAcC,UAC3E,GAAGb,KACDZ,eAAiBY,IAEnB,KAAIN,yBAAyBG,cAAe,CAE1C,OAGF,GAAGG,KAAM,CACPX,qBAAuBsB,UACvBrB,wBAAyBsB,iBACpB,CACLZ,KAAOZ,cACPuB,YAAatB,oBACbuB,cAAetB,uBAGjB,GAAIwB,aAActrB,EAAE,gBACpBorB,cAAeA,aAAe,sBAAwBf,aAAalO,YAAc,oBAAsBkO,aAAanO,SACpH,IAAIqP,gBAAiB,EACrB,IAAIC,YAAazB,cAAcM,aAAaL,SAK5C,KAAIwB,WAAWvV,KAAM,CACnBsV,gBAAkB,6FAClBA,iBAAkB,YAClBA,iBAAkB,4EAClBA,iBAAkB,uEAClBA,iBAAkB,uEAClBA,iBAAkB,gBAGpBA,gBAAkB,wGAClBA,iBAAkB,UAClBA,iBAAkB,4EAClBA,iBAAkB,gBAAiBlW,YAAa,2BAA4B+V,aAAc,kBAC1FG,iBAAkB,gBAAiBlW,YAAa,sBAAuB+V,aAAc,kBACrFG,iBAAkB,eAElB,IAAGf,KAAKpqB,QAAS,CACf,GAAIwG,KAAMyO,aAAemV,KAAKiB,YAAc,gCAAkC,4BAE9E,IAAIrrB,SAAUoqB,KAAKpqB,QAAQ0a,IAAI,SAAS4Q,KACtC,OACEC,MAAOD,IAAI,GACXvlB,MAAOulB,IAAI,GACTnrB,KACHqrB,UAAWF,IAAI,GAAIG,MAAOH,IAAI,IAE7BI,OAAQJ,IAAI,GAAK,KAAO,QAI5BtrB,SAAQ+D,MACNwnB,MAAO7f,KAAKigB,QACZ5lB,MAAO,YACP5F,KAAMsrB,MAAO,KAAMG,cAAe,SAAUC,aAAc,WAG5D,IAAIC,QAASZ,YAAY1lB,KAAK,YAC9B,IAAGsmB,QAAUA,OAAOxC,eAClBwC,OAAOxC,eAAezF,OAGxBqH,aAAYa,WAAW,YACvBb,aAAY7qB,KAAK,GAEjB6qB,aAAYc,WACVT,MAAO,GACP/kB,IAAKA,IACLylB,QAAShB,SACTiB,iBAAkB,WAChB,GAAGC,SAASxI,kBACV,MAAOjY,MAAKgU,sBAEZ,OAAOhU,MAAK0gB,kBAEhBC,KAAM,WACJ,GAAI5lB,QAAS7G,EAAEuI,UAAW8hB,oBACnBxjB,QAAOyd,iBACPzd,QAAO6lB,aACd7lB,QAAO8V,MAAQ,CAGf9V,QAAO8lB,YAAcnC,KAAKlW,EAE1B,OAAOzN,SAET+lB,eAAgB,GAChBxsB,QAASA,QACTysB,QAASrC,KAAKiB,aAAeF,mBAC7BuB,cAAe,WACb,GAAIlnB,MAAOtF,KAAKuF,SAChB0mB,UAASpI,uBAET,KAAIve,KAAM,CAER,OAIF,GAAGA,KAAKmnB,YAAc,EACpBzB,YAAY1lB,KAAK,kBAAmB,KAEtC,IAAIonB,WAAYhtB,EAAE,sBAClB,IAAIitB,eAAiBrnB,MAAQA,KAAKA,KAAKsnB,KAAK,SAASxmB,KAAO,MAAOA,KAAIymB,WAGvE,KAAIF,cACFjtB,EAAE,qCAAsCsrB,aAAarrB,QAEvD,IAAG2F,MAAQA,KAAKoT,OAASpT,KAAKoT,MAAMoU,aAAc,CAC/CptB,EAAE,oBAAoBS,KAAKmF,KAAKoT,MAAMoU,aACtCptB,GAAE,4BAA4BS,KAAKmF,KAAKoT,MAAMqU,sBAC9CL,WAAUhP,WAEXgP,WAAU9O,QACXoP,YAAa,SAAS5mB,IAAK6mB,UAC5B,SAAWA,UAASvV,OAAS,WAC1BwT,WAAWvT,UAAasV,SAASvV,KAAKC,WAAauT,WAAWvT,UAC9DuT,WAAW1U,UAAayW,SAASvV,KAAKlB,WAAa0U,WAAW1U,UAC9D,CAEDpQ,IAAI+B,SAAS,QAGf,MAAO/B,SC3uCf,QAAS8mB,sBAAqBnY,YAAaoY,aAAcxX,MACrD,GAAIyX,MACJ,IAAIC,SAEJ,IAAI/mB,KAAMyO,YAAc,0CAA4CY,IAEpEJ,IAAG+X,KAAKhnB,IAAK,SAASuS,MAAOyU,MAChC,GAAGzU,MACC,MAAOD,SAAQsC,KAAKrC,MAExBuU,OAAQE,IACR,IAAIC,MAGJH,OAAMI,QAAQ,SAAS5rB,MACnB,GAAGA,KAAK6rB,aAAe,EAAG,CAE7BF,MAAQxY,YAAc,8BAAgCnT,KAAK8rB,WACjD,CAEVH,MAAQxY,YAAc,gCAAkCnT,KAAK6rB,WAAa,aAAe7rB,KAAK+rB,YAAc,SAAWhY,KAAO,cAG3H/T,KAAK8rB,OAASL,MAAMzrB,KAAK8rB,UACxBL,MAAMzrB,KAAK8rB,SACX9f,KAAMhM,KAAK+rB,YAAaxU,IAAIvX,KAAK8rB,OACjC9rB,KAAM2rB,MAAO5mB,KAAM/E,KAAKgsB,YAAaC,IAAKjsB,KAAK6rB,YAGhD,IAAG7rB,KAAKksB,aAAe,EAAG,CAE7BP,MAAQxY,YAAc,8BAAgCnT,KAAKqS,WACjD,CAEVsZ,MAAQxY,YAAc,gCAAkCnT,KAAKksB,WAAa,aAAelsB,KAAKmsB,YAAc,SAAWpY,KAAO,cAG3H/T,KAAKqS,OAASoZ,MAAMzrB,KAAKqS,UACxBoZ,MAAMzrB,KAAKqS,SACXrG,KAAMhM,KAAKmsB,YAAa5U,IAAKvX,KAAKqS,OAClCrS,KAAM2rB,MAAO5mB,KAAM/E,KAAKosB,YAAaH,IAAKjsB,KAAKksB,cAIpD,IAAIvC,OAAQ,IAAK0C,OAAS,IAAKC,WAAa,CAC5C,IAAI1I,OAAQjQ,GAAG5F,MAAMwe,YAGrB3I,OAAM,QAAU,KAChBA,OAAM,QAAU,gBAEhB,IAAI7C,OAAQpN,GAAG6Y,OAAOzL,QACjB0K,MAAM9X,GAAG8D,OAAOgU,QAChBD,MAAMA,OACNiB,MAAM9C,MAAO0C,SACbK,aAAa,KACbC,QAAQ,KACRrqB,GAAG,OAAQsqB,MACX3T,OAEL,IAAI4T,KAAMlZ,GAAGtR,OAAO,IAAMkpB,cAActrB,OAAO,OAC1CyB,KAAK,KAAM,cACXA,KAAK,QAASioB,OACdjoB,KAAK,SAAU2qB,OAGpBQ,KAAI5sB,OAAO,QAAQ6sB,UAAU,UACxBppB,MAAM,YAAa,YAAa,YAAa,cAC7CqpB,QAAQ9sB,OAAO,UACfyB,KAAK,KAAM,SAASwJ,GAAK,MAAOA,KAChCxJ,KAAK,UAAW,cAChBA,KAAK,OAAQ,IACbA,KAAK,QAAS,KACdA,KAAK,cAAe4qB,YAAY5qB,KAAK,eAAgB4qB,YACrD5qB,KAAK,SAAU,QACfzB,OAAO,QACPyB,KAAK,IAAK,iBAEf,IAAIsrB,MAAOH,IAAI5sB,OAAO,KAAK6sB,UAAU,QAChCppB,KAAKqd,MAAMyK,SACXuB,QAAQ9sB,OAAO,QACfyB,KAAK,QAAS,SAASwJ,GAAK,MAAO,QAAUA,EAAEnG,OAC/CrD,KAAK,aAAc,SAASwJ,GAAK,MAAO,QAAUA,EAAEnG,KAAO,KAGhE,IAAIkoB,QAASJ,IAAI5sB,OAAO,KAAK6sB,UAAU,UAClCppB,KAAKqd,MAAM0K,SACXsB,QAAQ9sB,OAAO,UACfyB,KAAK,QAAS,eACdA,KAAK,IAAK,GACVwrB,MAAM,OAAQ,SAAShiB,GAAK,MAAO0Y,OAAM1Y,EAAEnG,QAC3C0Z,KAAKsC,MAAMoM,MACX7qB,GAAG,WAAY,SAAS4I,GAC5B7L,OAAOmT,SAAS4a,KAAOliB,EAAElL,MAI1B,IAAIqtB,MAAOR,IAAI5sB,OAAO,KAAK6sB,UAAU,QAChCppB,KAAKqd,MAAM0K,SACXsB,QAAQ9sB,OAAO,QACfyB,KAAK,QAAS,aACdA,KAAK,IAAK,IACVA,KAAK,IAAK,SACV2rB,KAAK,SAASniB,GAClB,GAAGA,EAAE+gB,KAAO,EACR,MAAO/gB,GAAEc,KAAO,UAAUd,EAAE+gB,IAAI,QAC/B,CACD,MAAO/gB,GAAM,OAKlB,SAAS0hB,QACLI,KAAKtrB,KAAK,IAAK4rB,QACfL,QAAOvrB,KAAK,YAAa6rB,UACzBF,MAAK3rB,KAAK,YAAa6rB,WAG3B,QAASD,SAAQpiB,GACb,GAAIsiB,IAAKtiB,EAAEmH,OAAO3H,EAAIQ,EAAE4gB,OAAOphB,EAClC+iB,GAAKviB,EAAEmH,OAAOqb,EAAIxiB,EAAE4gB,OAAO4B,EAC3BC,GAAK7kB,KAAK8kB,KAAKJ,GAAKA,GAAKC,GAAKA,GAC3B,OAAO,IAAMviB,EAAE4gB,OAAOphB,EAAI,IAAMQ,EAAE4gB,OAAO4B,EAAI,IAAMC,GAAK,IAAMA,GAAK,UAAYziB,EAAEmH,OAAO3H,EAAI,IAAMQ,EAAEmH,OAAOqb,EAG/G,QAASH,WAAUriB,GACf,MAAO,aAAeA,EAAER,EAAI,IAAMQ,EAAEwiB,EAAI,OC9H7C,QAASG,qBAAoBC,gBAC3B,MAAO,UAAS7pB,OACd,GAAI8pB,UAAW9pB,MAAMxC,KACrB,IAAImW,OAAQ,CAGZ,KAAKmW,SACH,MAAO,KAETD,gBAAe7pB,OAAOzE,KAAK,WACzB,GAAIwM,MAAOlO,EAAEM,MAAMqD,KACnB,IAAIuK,MAAQ+hB,SACZnW,MAAQA,MAAQ,GAGlB,OAAOA,QAAS,GAIpB,QAASoW,sBAAqBxmB,OAC5B,GAAIymB,QAASzmB,MAAM/F,KACnB,IAAIwsB,SAAW,GAAI,MAAO,KAE1B,OAAOhmB,gBAAegmB,SAAW9lB,gBAAgB8lB,OAAQ,MAG3D,QAASC,8BAA6BC,SACpC,MAAO,SAASC,0BAAyB5mB,OAEvC,IAAIA,MAAM/F,MAAO,MAAO,KACxB,OAAO3D,GAAE0J,OAAO/F,MAAMqR,MAAMqb,UAIhC,QAASE,wBAAuB7mB,OAC9B,GAAI8mB,aAAcxwB,EAAE0J,OAAOtI,QAAQ,QAAQ4B,KAAK,wBAAwBytB,IAAI/mB,MAC5E,KAAIA,MAAM/F,QAAU6sB,YAAY7sB,MAAO,MAAO,KAC9C,OAAO6sB,aAAY7sB,QAAU+F,MAAM/F,MAGrC,QAAS+sB,mBAAkBhnB,OAEzB,IAAIA,MAAM/F,MAAO,MAAO,KACxB,OAAO3D,GAAE0J,OAAO/F,MAAMqR,MAAM,gBAG9B,QAAS2b,sBAAqB9vB,MAC5B,GAAI+vB,OAAQ5wB,EAAEa,MAAMmC,KAAK,uBACzB,IAAI6tB,WAAY,CAEhBD,OAAMlvB,KAAK,WACT,GAAG1B,EAAEM,MAAMqD,OAAS,GAAIktB,aAG1B,IAAGA,WAAaD,MAAMpwB,OAAQowB,MAAMvsB,QAAQ,SAG9C,QAASysB,oBAAmBpnB,OAC1B,GAAIuM,MAAOvM,MAAM/F,KAGjB,IAAIsS,OAAS,GAAI,MAAO,KAExB,OAAO9L,gBAAe8L,OAASrM,aAAaqM,OAASlM,aAAakM,MAGpE,QAAS8a,oBAAmBrnB,OAC1B,GAAIuM,MAAOvM,MAAM/F,KAGjB,IAAIsS,OAAS,GAAI,MAAO,KAExB,OAAOrM,cAAaqM,OAASlM,aAAakM","file":"ntop.min.js"}
\ No newline at end of file
+{"version":3,"sources":["datatable_utils.js","ays_utils.js","ntopng_utils.js","graph_utils.js","ebpf_utils.js","ntopng_validators.js"],"names":["datatableRemoveEmptyRow","table","$","remove","datatableAddEmptyRow","empty_str","columns","filter","this","css","length","html","datatableGetNumDisplayedItems","datatableIsEmpty","datatableGetByForm","form","parent","datatableUndoAddRow","new_row","bt_to_enable","callback_str","removeAttr","closest","aysUpdateForm","dt","window","datatableForEachRow","callbacks","each","row_i","bind","i","datatableAddButtonCallback","td_idx","label","bs_class","link","append","datatableAddDeleteButtonCallback","datatableAddActionButtonCallback","datatableAddLinkButtonCallback","datatableMakeSelectUnique","tr_obj","added_rows_prefix","options","paramsExtend","on_change","noop","selector_fn","obj","find","first","datatableForeachSelectOtherThan","this_select","callback","other","datatableOptionChangeStatus","option_obj","enable","select_obj","should_reset","val","attr","new_val","datatableOnSelectEntryChange","change_callback","old_value","new_value","others","push","datatableOnAddSelectEntry","trigger","new_sel","select","on","datatableOrderedInsert","to_insert","to_insert_val","cmp_fn","a","b","inserted","tr","cmp_val","parseInt","isNaN","before","datatableIsLastPage","lastpage","hasClass","datatableGetColumn","id_key","id_value","res","data","resultset","item","datatableGetColumnIndex","column_key","index","findIndex","field","datatableRefreshRows","column_id","$dt","rows","ids","id_to_row","row","data_id","url","params","custom_hosts","join","ajax","type","cache","success","result","row_idx","row_html","row_tds","key","col_idx","cell","aysHandleForm","form_selector","default_options","submit_selector","on_dirty_callback","on_clean_callback","handle_submit_buttons","handle_datatable","handle_tabs","disable_on_dirty","ays_options","o","extend","areYouSure","addClass","removeClass","aysResetForm","aysRecheckForm","aysGetDirty","fields_selector","getValue","$field","undefined","is","$option","isFieldDirty","origValue","curValue","dirty","l","dirty_status","input","NTOPNG_MIN_VISUAL_VALUE","is_good_ipv4","ipv4","test","is_good_ipv6","ipv6","isNumeric","value","is_mac_address","what","is_network_mask","optional_mask","elems","split","mask","ip_addr","address","fbits","bits","sizes","bits_log1000","Math","log","floor","round","pow","ret","parseFloat","toFixed","export_rate","eps","scaleValue","exports_format","exports","exports_label","i18n","toLowerCase","fbits_from_bytes","bytes","fpackets","pps","fpoints","fflows","fps","fmsgs","mps","falerts","aps","fint","x","toString","replace","ffloat","fpercent","fdate","when","epoch","d","Date","capitaliseFirstLetter","string","charAt","toUpperCase","slice","String","prototype","startsWith","indexOf","get_trend","actual","getOSIcon","name","icon","search","abbreviateString","str","len","substring","bytesToSize","precision","kilobyte","megabyte","gigabyte","terabyte","capitalizeSingleWord","uc","capitalize","drawTrend","current","last","withColor","toggleAllTabs","enabled","disableAllDropdownsAndTabs","prop","enableAllDropdownsAndTabs","s","addCommas","nStr","x1","x2","rgx","scale","formatValue","formatPackets","n","formatPoints","formatFlows","formatMessages","fmillis","bytesToVolume","bytesToVolumeAndLabel","bitsToSize","factor","secondsToTime","seconds","days","hours","minutes","sec","msg","msg_array","years","format","M+","getMonth","d+","getDate","h+","getHours","m+","getMinutes","s+","getSeconds","q+","S","getMilliseconds","RegExp","$1","getFullYear","substr","k","epoch2Seen","tdiff","getTime","graphGetXAxisTicksFormat","diff_epoch","tickFormat","defaults","override","paramsToForm","hasOwnProperty","appendTo","paramsPairsEncode","jQuery","fn","disable","state","$this","disabled","toggleClass","hostkey2hostInfo","host_key","info","hostinfo","handle_tab_state","nav_object","default_tab","click","e","preventDefault","id","target","history","replaceState","location","hash","tab","sformat","args","arguments","match","number","contains","_add_find_host_link","makeFindHostBeforeSubmitCallback","http_prefix","network","snmp_port_idx","asn","tstampToDateString","html_tag","timestamp","localized","d3","time","noHtml","cleanCustomHostUrl","host","parseQuery","queryString","query","pairs","pair","decodeURIComponent","getHistoryParameters","cur_params","new_params","new_query","param","baseUrl","protocol","pathname","schema_2_label","data_2_label","graph_i18n","initLabelMaps","_schema_2_label","_data_2_label","_graph_i18n","getSerieLabel","schema","serie","visualization","serie_index","data_label","new_label","metrics_labels","ext_label","tags","category","l4proto","device","if_index","port","exporter","ifname","profile","user_script","command","traffic_volume","traffic","getValueFormatter","metric_type","series","custom_formatter","stats","formatters","console","error","as_counter","max_val","makeFlatLineValues","tstart","tstep","num","t","values","checkSeriesConsinstency","schema_name","count","rv","upsampleSerie","num_points","intervals","lerp","v0","v1","prev_i","next_i","min","ceil","v","buildTotalSerie","data_series","transpose","map","g","sum","arrayToNvSerie","serie_data","start","step","buildOtherSerie","total_serie","visual_total","warn","max","buildTimeArray","start_time","end_time","arr","fixTimeRange","chart","align_step","actual_step","epoch_end","epoch_begin","frame","align","tick_step","resolution","fmt","range_params","range","limit","x_fmt","findActualStep","raw_step","supported_steps","retention","now_ts","now","delta","partial","aggregation_dp","tframe","retention_dp","has_initial_zoom","current_zoom_level","canCompareBackwards","jump_duration","current_duration","fixJumpButtons","duration","showQuerySlow","show","hideQuerySlow","hide","chart_data_sum","reduce","acc","pt","attachStackedChartCallback","chart_id","zoom_reset_id","show_all_smooth","initial_range","ts_table_shown","pending_chart_request","pending_table_request","d3_sel","$chart","$zoom_reset","$graph_zoom","max_interval","initial_interval","is_max_zoom","first_load","first_time_loaded","manual_trigger_cmp_serie","datetime_format","max_over_total_ratio","query_timer","seconds_before_query_slow","query_completed","query_was_aborted","is_zoomed","spinner","chart_colors_full","chart_colors_min","num_ticks_y1","num_ticks_y2","domain_y1","domain_y2","first_run","update_chart_data","new_data","datum","call","transition","yAxis1","ticks","yAxis2","yDomain1","yDomain2","cur_domain_y1","domain","cur_domain_y2","y1_sum","yAxis","y2_sum","nv","utils","windowResize","update","isLegendDisabled","default_val","localStorage","getItem","legend","dispatch","legend_key","setItem","cur_zoom","t_start","xDomain","t_end","old_zoomed","is_user_zoom","updateStackedChart","push_state","pushState","zoom_level","fixChartButtons","updateZoom","zoom","force","zoom_in","cur_interval","date","updateChartFromPickers","zoom_out","event","go","addEventListener","zoom_link","checkQueryCompleted","flows_dt","wait_num_queries","clearInterval","queryWasAborted","abortQuery","abort","noData","tableRequestCompleted","getDataUrl","data_params","ts_compare","extended","old_start","old_end","old_interval","tend","no_spinner","on_load_callback","force_update","new_end","zoomType","maxDate","setInterval","no_data_available","req_params","get","xAxis","tickValues","color_i","chart_colors","j","visualization_options","current_step","axis","color","has_full_data","additional_series","total","other_serie","past_serie","ratio_over_total","is_disabled","classed","no_trend","num_smoothed_points","smooth_functions","trend","smooth","ema","exponentialMovingAverageArray","periods","sma","simpleMovingAverageArray","rsi","relativeStrengthIndexArray","add_smoothed_serie","fn_to_use","smoothed","delta_serie","aligned","scaled","remaining","to_fill","splice","yDomainRatioY2","formatter1","value_formatter","statistics","tot_formatter","stats_formatter","yAxis1_formatter","second_axis_series","formatter2","value_formatter2","yAxis2_formatter","stats_table","average","avg","total_cell","average_cell","min_cell","max_cell","perc_cell","min_val","min_val_idx","max_val_idx","enabled_series","updateState","source_aggregation","fail","xhr","status","statusText","always","pendingRequest","updateGraphsTableView","graph_old_view","graph_old_has_nindex","graph_old_nindex_query","tsQueryToTags","ts_query","pos","recheckGraphTableEntries","table_view","graph_table_views","graph_params","reset_selection","view_id","view","elem","html_id","min_step","items_ul","idx","next_item","nextAll","divider","first_view","setActiveGraphsTableView","has_nindex","nindex_query","per_page","graph_table","nindex_buttons","params_obj","nindex_view","col","title","textAlign","width","hidden","actions","white-space","text-align","old_dt","removeData","datatable","perPage","noResultsMessage","ts_chart","no_results_found","post","initial_point","detail_view","loadingYOffset","buttons","tableCallback","currentPage","stats_div","has_drilldown","some","drilldown","loading_time","num_records_processed","rowCallback","row_data","draw_processes_graph","graph_div_id","links","nodes","json","_link","forEach","source_pid","source","source_name","source_type","pid","target_pid","target_name","target_type","height","arrow_size","category10","layout","size","linkDistance","charge","tick","svg","selectAll","enter","path","circle","style","drag","href","text","linkArc","transform","dx","dy","y","dr","sqrt","makeUniqueValidator","items_function","cmp_name","memberValueValidator","member","makePasswordPatternValidator","pattern","passwordPatternValidator","passwordMatchValidator","other_input","not","poolnameValidator","passwordMatchRecheck","items","not_empty","hostOrMacValidator","ipAddressValidator"],"mappings":"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"}
\ No newline at end of file
diff --git a/scripts/callbacks/system/minute/redis.lua b/scripts/callbacks/system/minute/redis.lua
index c8d9483598..384a12a6c3 100644
--- a/scripts/callbacks/system/minute/redis.lua
+++ b/scripts/callbacks/system/minute/redis.lua
@@ -33,15 +33,36 @@ function probe.loadSchemas(ts_utils)
})
schema:addTag("ifid")
schema:addMetric("num_keys")
+
+ -- Cache
+ schema = ts_utils.newSchema("redis:hits", {metrics_type = ts_utils.metrics.gauge})
+ schema:addTag("ifid")
+ schema:addTag("command")
+ schema:addMetric("num_calls")
end
-- ##############################################
function probe.getTimeseriesMenu(ts_utils)
- return {
+ local menu = {
{schema = "redis:memory", label = i18n("about.ram_memory")},
{schema = "redis:keys", label = i18n("system_stats.redis.redis_keys")},
+ {separator=1, label=i18n("system_stats.redis.commands")},
}
+
+ -- Populate individual commands timeseries
+ local series = ts_utils.listSeries("redis:hits", {ifid = getSystemInterfaceId()}, 0)
+
+ for _, serie in pairsByField(series, "command", asc) do
+ menu[#menu + 1] = {
+ schema = "redis:hits",
+ label = i18n("system_stats.redis.command_hits", {cmd = string.upper(string.sub(serie.command, 5))}),
+ extra_params = {redis_command = serie.command},
+ metrics_labels = {i18n("graphs.num_calls")},
+ }
+ end
+
+ return(menu)
end
-- ##############################################
@@ -114,9 +135,30 @@ end
function probe.runTask(when, ts_utils)
local ifid = getSystemInterfaceId()
local stats = probe.getStats()
+ local hits_key = "ntopng.cache.redis.stats"
+ local json = require("dkjson")
+ local old_hits_stats = ntop.getCache(hits_key)
+ local hits_stats = ntop.getCacheStats()
+
+ if(not isEmptyString(old_hits_stats)) then
+ old_hits_stats = json.decode(old_hits_stats) or {}
+ else
+ old_hits_stats = {}
+ end
ts_utils.append("redis:memory", {ifid = ifid, resident_bytes = stats["memory"]}, when)
ts_utils.append("redis:keys", {ifid = ifid, num_keys = stats["dbsize"]}, when)
+
+ for key, val in pairs(hits_stats) do
+ if(old_hits_stats[key] ~= nil) then
+ local delta = math.max(val - old_hits_stats[key], 0)
+
+ -- Dump the delta value as a gauge
+ ts_utils.append("redis:hits", {ifid = ifid, command = key, num_calls = delta}, when)
+ end
+ end
+
+ ntop.setCache(hits_key, json.encode(hits_stats))
end
-- ##############################################
diff --git a/scripts/locales/en.lua b/scripts/locales/en.lua
index 70ee40be3f..a7f22d62c2 100644
--- a/scripts/locales/en.lua
+++ b/scripts/locales/en.lua
@@ -828,9 +828,9 @@ local lang = {
["last_calls_per_sec"] = "Last Calls/sec",
["last_duration"] = "Last Duration",
["last_num_calls"] = "Last Num Calls",
- ["no_callbacks_defined"] = "No callbacks found",
["no_callbacks_available"] = "No callbacks available.",
["no_callbacks_available_disabled_alerts"] = "No callbacks available. Callbacks require alerts to be enabled from the Preferences",
+ ["no_callbacks_defined"] = "No callbacks found",
["note_add_custom_scripts"] = "%{product} looks for custom scripts in these directories.",
["note_create_custom_scripts"] = "Documentation to create custom scripts for the execution of callbacks is available at the following link .",
["note_flow_application_detected"] = "\"Application Detected\" callbacks are executed right after the detection of the application. This occurs within the first 12 packets of a flow for packet interfaces or immediately after a flow has been received for ZMQ interfaces.",
@@ -3446,6 +3446,8 @@ local lang = {
["value"] = "Value",
["write_througput"] = "Write Througput",
["redis"] = {
+ ["command_hits"] = "%{cmd} Calls",
+ ["commands"] = "Commands",
["redis_health_green"] = "OK",
["redis_health_green_descr"] = "Redis is working OK.",
["redis_health_red"] = "Persistence Issues",
@@ -3454,6 +3456,8 @@ local lang = {
["short_desc_redis_health"] = "Current Redis health.",
["short_desc_redis_keys"] = "Total keys in the Redis database.",
["short_desc_redis_ram_memory"] = "Total memory Redis has obtained from the operating system.",
+ ["top_redis_commands"] = "Top Commands Calls",
+ ["tot_calls"] = "Total Calls",
},
},
["telemetry_page"] = {
diff --git a/scripts/lua/get_redis_stats.lua b/scripts/lua/get_redis_stats.lua
index 9235a05c54..b246ea8c16 100644
--- a/scripts/lua/get_redis_stats.lua
+++ b/scripts/lua/get_redis_stats.lua
@@ -6,6 +6,7 @@ dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
+local ts_utils = require("ts_utils")
--local json = require("dkjson")
sendHTTPContentTypeHeader('text/html')
@@ -14,7 +15,13 @@ local stats = ntop.getCacheStats()
for key,val in pairsByValues(stats, rev) do
if(key ~= "num_reconnections") then
- print("
"..string.upper(string.sub(key, 5)).."
"..val.."
\n")
+ local chart = ""
+
+ if(ts_utils.exists("redis:hits", {ifid=getSystemInterfaceId(), command=key})) then
+ chart = ''
+ end
+
+ print("
"..string.upper(string.sub(key, 5)).."
".. chart .."
"..val.."
\n")
end
end
diff --git a/scripts/lua/modules/graph_utils.lua b/scripts/lua/modules/graph_utils.lua
index e9de96d634..2ca7699461 100644
--- a/scripts/lua/modules/graph_utils.lua
+++ b/scripts/lua/modules/graph_utils.lua
@@ -298,7 +298,7 @@ local graph_menu_entries = {}
-- the entry will be shown but will be grayed out (disabled state)
-- - If timeseries exist for the entry in the visualized interval, the
-- entry will be shown and will be clickable
-function populateGraphMenuEntry(label, base_url, params, tab_id, needs_separator, separator_label, pending)
+function populateGraphMenuEntry(label, base_url, params, tab_id, needs_separator, separator_label, pending, extra_params)
local url = getPageUrl(base_url, params)
local step = nil
@@ -321,6 +321,7 @@ function populateGraphMenuEntry(label, base_url, params, tab_id, needs_separator
separator_label = separator_label,
pending = pending, -- true for batched operations
step = step,
+ extra_params = extra_params,
}
graph_menu_entries[#graph_menu_entries + 1] = entry
@@ -345,12 +346,14 @@ end
function graphMenuGetActive(schema, params)
-- These tags are used to determine the active timeseries entry
- local match_tags = {ts_schema=1, ts_query=1, protocol=1, category=1, snmp_port_idx=1, exporter_ifname=1, l4proto=1}
+ local match_tags = {ts_schema=1, ts_query=1, protocol=1, category=1, snmp_port_idx=1, exporter_ifname=1, l4proto=1, command=1}
for _, entry in pairs(graph_menu_entries) do
+ local extra_params = entry.extra_params or {}
+
if entry.schema == schema and entry.params then
for k, v in pairs(params) do
- if match_tags[k] and tostring(entry.params[k]) ~= tostring(v) then
+ if (match_tags[k] or extra_params[k]) and tostring(entry.params[k]) ~= tostring(v) then
goto continue
end
end
@@ -514,7 +517,7 @@ function printSeries(options, tags, start_time, end_time, base_url, params)
local v = serie.label
local exists = false
local entry_tags = tags
- local entry_params = params
+ local entry_params = table.merge(params, serie.extra_params)
local entry_baseurl = base_url
local override_link = nil
@@ -577,7 +580,7 @@ function printSeries(options, tags, start_time, end_time, base_url, params)
if exists then
local entry = populateGraphMenuEntry(v, entry_baseurl, table.merge(entry_params, {ts_schema=k}), nil,
- needs_separator, separator_label, #batch_ids --[[ pending ]], nil)
+ needs_separator, separator_label, #batch_ids --[[ pending ]], serie.extra_params)
if entry then
for _, batch_id in pairs(batch_ids) do
diff --git a/scripts/lua/modules/http_lint.lua b/scripts/lua/modules/http_lint.lua
index e9bd963ccf..3af3475639 100644
--- a/scripts/lua/modules/http_lint.lua
+++ b/scripts/lua/modules/http_lint.lua
@@ -1504,6 +1504,7 @@ local known_parameters = {
["rtt_host"] = validateSingleWord,
["rtt_max"] = validateEmptyOr(validateNumber),
["disabled_status"] = validateListOfTypeInline(validateNumber),
+ ["redis_command"] = validateSingleWord,
-- Containers
["pod"] = validateSingleWord,
diff --git a/scripts/lua/modules/system_scripts_utils.lua b/scripts/lua/modules/system_scripts_utils.lua
index 22aec929f2..b1f2623b9b 100644
--- a/scripts/lua/modules/system_scripts_utils.lua
+++ b/scripts/lua/modules/system_scripts_utils.lua
@@ -205,10 +205,11 @@ function system_scripts.getAdditionalTimeseries(module_filter)
if(probe.getTimeseriesMenu ~= nil) then
local menu = probe.getTimeseriesMenu(ts_utils) or {}
+ --[[
table.insert(menu, 1, {
separator = 1,
label = probe.name or probe_name,
- })
+ })]]
additional_ts = table.merge(additional_ts, menu)
end
diff --git a/scripts/lua/system/redis_stats.lua b/scripts/lua/system/redis_stats.lua
index c030eb6f7d..4f0b437b71 100644
--- a/scripts/lua/system/redis_stats.lua
+++ b/scripts/lua/system/redis_stats.lua
@@ -139,7 +139,8 @@ elseif(page == "stats") then