{"version":3,"sources":["webpack:///webpack/bootstrap 3aed25414a5a95ebab7a","webpack:///./source/main.js","webpack:///./~/es6-shim/es6-shim.js","webpack:///./~/process/browser.js","webpack:///./source/styles/main.scss","webpack:///./~/blocko/router.js","webpack:///./~/blocko/helpers.js","webpack:///./~/blocko/functions/xhr.js","webpack:///./~/blocko/config.js","webpack:///./~/blocko/polyfill.js","webpack:///./source/validate.js","webpack:///./~/blocko/form-validate.js","webpack:///./source/controllers/auth.js","webpack:///./~/common.web/layouts/l-auth/l-auth.html","webpack:///./~/nunjucks/browser/nunjucks-slim.js","webpack:///./~/blocko/nunjucks.config.js","webpack:///./~/common.web/blocks/b-layout/b-layout.html","webpack:///./~/common.web/blocks/b-header/b-header.html","webpack:///./~/nunjucks-loader/runtime-shim.js","webpack:///./~/common.web/blocks/b-nav/b-nav.html","webpack:///./~/common.web/blocks/b-loader/b-loader.html","webpack:///./source/controllers/main.js","webpack:///./source/context.js","webpack:///./~/blocko/controller.js","webpack:///./~/blocko/functions/context.js","webpack:///./~/blocko/functions/render.js","webpack:///./~/blocko/cookie.js","webpack:///./~/blocko/functions/request.js","webpack:///./~/blocko/events.js","webpack:///./~/blocko/widgets/i-progress-bar/i-progress-bar.js","webpack:///./source/controllers/error.js","webpack:///./~/common.web/layouts/l-error/l-error.html","webpack:///./source/controllers/home.js","webpack:///./source/templates/l-home/l-home.html","webpack:///./~/common.web/blocks/b-search/b-search.html","webpack:///./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html","webpack:///./source/templates/l-home/l-home__reports-filter.html","webpack:///./~/common.web/blocks/b-filter-values/b-filter-values.html","webpack:///./source/templates/l-home/l-home__reports-list.html","webpack:///./source/templates/b-dropdown-calendar/b-dropdown-calendar.html","webpack:///./source/templates/l-home/l-home__add-report-modal.html","webpack:///./source/templates/l-home/l-home__add-report-modal-list.html","webpack:///./~/blocko/functions/url_params.js","webpack:///./~/blocko/functions/query-string-to-dict.js","webpack:///./~/blocko/functions/dict-to-query-string.js","webpack:///./~/blocko/widgets/i-tab/i-tab.js","webpack:///./source/controllers/control.js","webpack:///./source/templates/l-control/l-control.html","webpack:///./source/templates/l-control/l-control__user-list.html","webpack:///./source/templates/l-control/l-control__add-user-modal.html","webpack:///./source/controllers/user.js","webpack:///./source/templates/l-user/l-user.html","webpack:///./~/blocko/functions/alert.js","webpack:///./source/controllers/report.js","webpack:///./source/templates/l-report/l-report.html","webpack:///./source/templates/b-report-data/b-report-data.html","webpack:///./source/templates/l-report/l-report__phonogram-filter.html","webpack:///./source/templates/l-report/l-report__phonogram-table-item.html","webpack:///./source/templates/b-inline-edit/b-inline-edit.html","webpack:///./source/templates/b-phonogram-add/b-phonogram-add.html","webpack:///./source/templates/b-phonogram-add/b-phonogram-add__content-table-item.html","webpack:///./source/templates/b-phonogram-add/b-phonogram-add__filter.html","webpack:///./source/templates/b-phonogram-add/b-phonogram-add-new-modal.html","webpack:///./source/templates/b-music-libery-reports-list/b-music-libery-reports-list.html","webpack:///./source/templates/b-music-libery-reports-list/b-music-libery-reports-list__table-item.html","webpack:///./source/templates/b-phonogram-relay/b-phonogram-relay.html","webpack:///./source/templates/b-phonogram-relay/b-phonogram-relay__stations-item.html","webpack:///./source/templates/b-phonogram-relay/b-phonogram-relay__phonogram-item.html","webpack:///./source/templates/b-error-modal/b-error-modal.html","webpack:///./~/blocko/widgets/i-modal/i-modal.js","webpack:///./source/templates/l-comparison/l-comparison__status-modal.html","webpack:///./source/controllers/comparison.js","webpack:///./source/templates/l-comparison/l-comparison.html","webpack:///./source/templates/l-comparison/l-comparison__phonogram-item.html","webpack:///./source/templates/b-comparison-manual/b-comparison-manual.html","webpack:///./source/templates/b-comparison-manual/b-comparison-manual__item.html","webpack:///./source/templates/b-comparison-manual/b-comparison-manual__box.html","webpack:///./source/templates/l-comparison/l-comparsion__phonogram-report.html","webpack:///./source/controllers/ratings.js","webpack:///./source/templates/l-ratings/l-ratings.html","webpack:///./source/templates/l-ratings/l-ratings__table-content.html","webpack:///./source/templates/l-ratings/l-ratings__add-rating-modal.html","webpack:///./~/blocko/widgets/i-checker/i-checker.js","webpack:///./source/controllers/rating.js","webpack:///./source/templates/l-rating/l-rating.html","webpack:///./source/templates/l-rating/l-rating__table-content.html","webpack:///./source/templates/l-rating/l-rating__modal-upload.html","webpack:///./source/templates/l-rating/l-rating__modal-upload-body.html","webpack:///./~/blocko/widgets/i-draggable/i-draggable.js","webpack:///./source/controllers/distributions.js","webpack:///./source/templates/l-distributions/l-distributions.html","webpack:///./source/templates/l-distributions/l-distributions__table-tbody-items.html","webpack:///./source/templates/l-distributions/l-distributions_status.html","webpack:///./source/templates/l-distributions/l-distributions__add-new-modal.html","webpack:///./source/controllers/reward_rating.js","webpack:///./source/templates/l-reward-rating/l-reward-rating.html","webpack:///./source/templates/b-distribution-data/b-distribution-data.html","webpack:///./source/templates/b-distribution-data/b-distribution-data__status.html","webpack:///./source/templates/l-reward-rating/l-reward-rating__table-tbody-items.html","webpack:///./source/controllers/reward_distribution.js","webpack:///./source/templates/l-reward-distribution/l-reward-distribution.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__filter.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__tbody-items.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__modal-export.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__modal-batch-export.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html","webpack:///./source/templates/l-reward-distribution/l-reward-distribution__modal-upload-report-body.html","webpack:///./source/controllers/reward_reports.js","webpack:///./source/templates/l-reward-reports/l-reward-reports.html","webpack:///./source/templates/l-reward-reports/l-reward-reports__filter.html","webpack:///./source/templates/l-reward-reports/l-reward-reports__tbody-items.html","webpack:///./source/templates/b-reward-reports-add/b-reward-reports-add.html","webpack:///./source/templates/b-reward-reports-add/b-reward-reports-add__table-item.html","webpack:///./source/controllers/reporting_distribution.js","webpack:///./source/templates/l-reporting-distribution/l-reporting.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-common.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-common-content.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-final-report.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-final-report-content.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-top-list.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-top-list-content.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-final-top-list.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-final-top-list-content.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-make-top-list.html","webpack:///./source/templates/l-reporting-distribution/l-reporting__table-make-top-list-content.html","webpack:///./source/templates/b-track-rightholders/b-track-rightholders.html","webpack:///./source/templates/b-track-payers/b-track-payers.html","webpack:///./source/templates/b-export-note-modal/b-export-note-modal.html","webpack:///./source/controllers/reporting_users.js","webpack:///./source/templates/l-reporting-users/l-reporting-users.html","webpack:///./source/templates/l-reporting-users/l-reporting-users__filter.html","webpack:///./source/templates/l-reporting-users/l-reporting-users__list.html","webpack:///./source/templates/l-reporting-users/l-reporting-users__empty-list.html","webpack:///./source/controllers/reporting_recipient.js","webpack:///./source/templates/l-reporting-recipients/l-reporting-recipients.html","webpack:///./source/templates/l-reporting-recipients/l-reporting-recipients__filter.html","webpack:///./source/templates/l-reporting-recipients/l-reporting-recipients__list.html","webpack:///./source/controllers/reporting_righolders.js","webpack:///./source/templates/l-reporting-rightholders/l-reporting-rightholders.html","webpack:///./source/templates/l-reporting-rightholders/l-reporting-rightholders__filter.html","webpack:///./source/templates/l-reporting-rightholders/l-reporting-rightholders__list.html","webpack:///./source/controllers/reporting_retained_balance.js","webpack:///./source/templates/l-reporting-retained-balance/l-reporting-retained-balance.html","webpack:///./source/templates/l-reporting-retained-balance/l-reporting-retained-balance__list.html","webpack:///./source/templates/b-generate-report-modal/b-generate-report-modal.html","webpack:///./source/controllers/payment_files.js","webpack:///./source/templates/l-payment-files/l-payment-files.html","webpack:///./source/templates/l-payment-files/l-payment-files__filter.html","webpack:///./source/templates/l-payment-files/l-payment-files__table-content.html","webpack:///./source/templates/l-payment-files/l-payment-files__update-file-modal.html","webpack:///./source/controllers/payment_file.js","webpack:///./source/templates/l-payment-file/l-payment-file.html","webpack:///./source/templates/l-payment-file/l-payment-file__filter.html","webpack:///./source/templates/l-payment-file/l-payment-file__table-content.html","webpack:///./source/controllers/payments.js","webpack:///./source/templates/l-payments/l-payments.html","webpack:///./source/templates/l-payments/l-payments__filter.html","webpack:///./source/templates/l-payments/l-payments__table-content.html","webpack:///./source/controllers/references.js","webpack:///./source/templates/l-references/l-references.html","webpack:///./source/controllers/payment_protocol.js","webpack:///./source/templates/l-payment-protocol/l-payment-protocol.html","webpack:///./source/controllers/contracts.js","webpack:///./source/templates/l-contracts/l-contracts.html","webpack:///./source/templates/l-contracts/l-contracts__filter.html","webpack:///./source/templates/l-contracts/l-contracts__table-content.html","webpack:///./source/controllers/contragents.js","webpack:///./source/templates/l-contragents/l-contragents.html","webpack:///./source/templates/l-contragents/l-contragents__filter.html","webpack:///./source/templates/l-contragents/l-contragents__table-content.html","webpack:///./source/controllers/rightholders_documents.js","webpack:///./source/templates/l-rightholders-documents/l-rightholders-documents.html","webpack:///./source/templates/l-rightholders-documents/l-rightholders-documents__list.html","webpack:///./source/controllers/reporting_accruals.js","webpack:///./source/templates/l-reporting-accruals/l-reporting-accruals.html","webpack:///./source/templates/l-reporting-accruals/l-reporting-accruals__modal.html","webpack:///./source/images/cloud.svg","webpack:///./source/controllers/fonmix_reports.js","webpack:///./source/templates/l-fonmix-report/l-fonmix-report.html","webpack:///./source/templates/l-fonmix-report/l-fonmix-report__filter.html","webpack:///./source/templates/l-fonmix-report/l-fonmix-report__list.html","webpack:///./source/templates/l-fonmix-report/l-fonmix-generate-report-modal.html","webpack:///./source/templates/l-fonmix-report/l-fonmix-report__upload-modal.html","webpack:///./source/templates/l-fonmix-report/l-fonmix-add-report-to-work-modal.html","webpack:///./source/controllers/fonmix_reports_match.js","webpack:///./source/templates/l-fonmix-report-match/l-fonmix-report-match.html","webpack:///./source/templates/l-fonmix-report-match/l-fonmix-report-match__list.html","webpack:///./source/controllers/reporting_fonmix_statistics.js","webpack:///./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html","webpack:///./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html","webpack:///./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__modal.html","webpack:///./~/common.web/blocks/b-tab/b-tab.js","webpack:///./~/blocko/widget.js","webpack:///./~/common.web/blocks/b-form/b-form.js","webpack:///./~/blocko/widgets/i-form/i-form.js","webpack:///./~/blocko/functions/sueare.js","webpack:///./~/blocko/widgets/i-form-field/i-form-field.js","webpack:///./~/blocko/widgets/b-input/b-input.js","webpack:///./~/blocko/widgets/i-dropdown/i-dropdown.js","webpack:///./~/common.web/blocks/b-modal/b-modal.js","webpack:///./~/common.web/blocks/b-dropdown/b-dropdown.js","webpack:///./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.js","webpack:///./~/common.web/blocks/b-filter-values/b-filter-values_button-template.html","webpack:///./~/common.web/blocks/b-search/b-search.js","webpack:///./~/common.web/blocks/b-button-submit/b-button-submit.js","webpack:///./~/common.web/blocks/b-table-sort/b-table-sort.js","webpack:///./~/blocko/widgets/b-paginate/b-paginate.js","webpack:///./~/blocko/widgets/b-paginate/b-paginate__inner.html","webpack:///./~/common.web/blocks/b-ajax-form/b-ajax-form.js","webpack:///./source/templates/b-confirm-modal/b-confirm-modal.js","webpack:///./source/templates/b-confirm-modal/b-confirm-modal.html","webpack:///./source/templates/b-dropdown-calendar/b-dropdown-calendar.js","webpack:///./source/templates/b-phonogram-relay/b-phonogram-relay.js","webpack:///./source/templates/b-phonogram-add/b-phonogram-add.js","webpack:///./source/templates/b-report-data/b-report-data.js","webpack:///./source/templates/b-comparison-manual/b-comparison-manual.js","webpack:///./source/templates/b-distribution-data/b-distribution-data.js","webpack:///./source/templates/b-reward-reports-add/b-reward-reports-add.js","webpack:///./source/templates/b-inline-edit/b-inline-edit.js","webpack:///./source/templates/b-combo/b-combo.js","webpack:///./source/templates/b-music-libery-reports-list/b-music-libery-reports-list.js"],"names":["Router","config","mode","root","require","check","listen","f","name","Object","defineProperty","Function","prototype","get","toString","match","value","FormData","delete","Element","matches","msMatchesSelector","selector","routes","error_handler","_page_item","_abort","_controllers","options","history","pushState","clearSlashes","getQueryParameters","str","document","location","search","length","replace","split","map","string","idx","indexOf","slice","decodeURIComponent","bind","error_page","controller","argv","getFragment","fragment","decodeURI","pathname","window","href","path","add","handler","push","add_page","routers","route","keys","item","Array","isArray","params","body","widget","instance","remove","forEach","index","splice","i","flush","fragment_list","re","RegExp","apply","path_list","is_valid","abort","current","state","ps","arguments","onpushstate","removeEventListener","history_target","addEventListener","onpopstate","navigate","new_path","code","get_controller","controller_name","get_url","shift","key","pop","page_controller","has_url","module","exports","event","a","target","metaKey","button","hash","hasAttribute","preventDefault","getAttribute","post","parse_json","each","attach_event","remove_event","index_element","closest","is_element","css_property","get_widgets","get_widget","has_widget","flush_widgets","remove_widget","find_widgets","create_widget","unique","convert_bytes","convert_date","convert_time","convert_price","convert_second","plural_form","prepare_content","unwrap","urlify","clear_string","url","data","error","call","unshift","xhr","JSON","parse","e","list","node_list","event_name","HTMLElement","node","parentNode","children","element","position","result","parentElement","nodeType","style","ownerDocument","property","getComputedStyle","getPropertyValue","__list_widget__","widget_name","constructor","classList","destructor","widgets","concat","querySelectorAll","Math","random","substr","bytes","sizes","parseInt","floor","log","round","pow","date_string","options_name","isNaN","date","Date","toLocaleDateString","lang","convert_date_options","toLocaleTimeString","convert_time_options","number","Intl","NumberFormat","convert_price_options","format","seconds","chunks","str_pad_left","pad","join","hour","minutes","words","cases","abs","parent","childNodes","insertBefore","child","removeChild","text","urlRegex","b","c","url2","parent_node","allowed","tagName","attributes","removeAttributeNode","attr","method","callback","XMLHttpRequest","formData","toUpperCase","append","encodeURIComponent","open","send","onreadystatechange","readyState","status","responseText","change_config","get_config","day","month","year","timeZone","minute","currency","config_name","assign","includes","searchElement","O","len","n","k","currentElement","String","self","createElementNS","insertAdjacentHTML","html","ref","container","ref_parent","first_child","next_sibling","innerHTML","toLowerCase","firstChild","lastChild","appendChild","nextSibling","insertAdjacentElement","elem","_this","first","next","email_exist","test","field","message","numeric_float","set_validator","validator_list","get_validator","get_error_message","set_error_message","validators","messages","empty","trim","numeric","email","phone","numbers_date","x","reverse","getMonth","checked","input","validator_name","validator","Auth","template","dom","form","querySelector","loader","submit","loader_timer","_bind","setTimeout","_change_rsid","response","clearTimeout","success","_get_user","errmess","url_for","errcode","Controller","nunjucks","env","currentEnv","Environment","autoescape","configure","dependencies","webpackDependencies","shim","nunjucksPrecompiled","context","frame","runtime","cb","lineno","colno","output","parentTemplate","getTemplate","t_2","_parentTemplate","t_1","blocks","addBlock","r","getBlock","t_4","t_3","rootRenderFunc","handleError","b_content","t_7","t_5","render","getVariables","t_8","t_6","addGlobal","create_attribute","addFilter","attr_list","old_attr","memberLookup","contextOrFrameLookup","set","topLevel","setVariable","addExport","getFilter","t_10","t_11","t_9","suppressValue","opts","t_13","t_12","inOperator","USER_TYPE_ADMIN","USER_TYPE_LEAD","USER_TYPE_REP_MANAGER","USER_TYPE_DISTR_MANAGER","Base","prepare_context","current_user","url_list","context_menu","get_param","link","urls","vois_rms","icon","access","user_type","user","type","new_menu","menu","partner","app_name","footer_text","getFullYear","current_date","getTime","current_year","page_url","home_url","status_list","uid","distribution_status","recipients_type","ProgressBar","iProgressBar","_params","_requests","_handlers","_is_abort","query","Request","query_string","_dict_to_query","_scope","show","stack_post","_run_render_page","requests","hide","prepare_page","init","dict","hasOwnProperty","chunk","Events","set_context","flush_context","get_context","Cookie","console","cookie","undefined","expires","d","setTime","toUTCString","updatedCookie","propName","propValue","STACK","is_run","xhr_links","Requests","stack","is_object","request","response_data","run","stack_get","stack_object","count_requests","_events","timeout","bar","createElement","className","Error","Home","reports","category","date_timestamp","timestamp","display","content","buttons","check_all","check_item","table_row","table","footer_panel","combo_item","radio_buttons","add_period_button","input_month_begin","input_month_end","input_contract_name","input_contract_id","input_month","input_balance","add_month_button","compare_button","remove_button","get_balance_button","b_jax_fom","table_wrap","commission_input","existing_reports_tbody","input_month_hidden","existing_reports","commission_sum_input","b_search","b_filter","b_sort_table","b_input","b_add_period_dropdown","b_add_period_calendar","dropdown","box","b_add_month_dropdown","b_add_month_calendar","b_ajax_from","confirm_modal","confirm_delete_modal","stopPropagation","b_combo_filter","query_params","rows","TABLE_ROW_COUNT","page","DEFAULT_PAGE","balance","commission","commission_sum","suggest_selected_id","checked_items_count","is_rendered","form_submit","_calc_commission_summ","_is_float","parseFloat","toFixed","_window_scroll_event","contains","id","items_count","_hide_elements","_show_elements","attach","_event_combo_filter","date_begin","dates","date_end","formated_value","removeAttribute","setAttribute","_event_search","_reset_search","_event_filter","reset","_event_sort_table","stop_reload","report_list","iform_fields","fields","field_widget","errfields","contracts_id_list","_get_balance","check_items","currentTarget","search_timer","create_suggest","contracts","confirm_text","change_content","b_button_submit","block_button","reload","unblock_button","month_begin","month_end","contract_id","contract","categorygroup","clear_error","set_error","modal_list","bounding","getBoundingClientRect","scroll_top","scrollTop","window_height","bottom","top","document_height","max","scrollHeight","offsetHeight","clientHeight","_next_page","_post_data","_get_default","reset_field","active_input_value","order_by","_render","set_result_count","Number","getExported","bSearch","bDropdownFilter","callWrap","makeKeywordArgs","macro_t_13","makeMacro","kwargs","caller","t_14","t_17","t_15","t_18","t_16","SafeString","t_21","t_19","t_22","t_20","t_25","t_23","t_26","t_24","t_29","t_27","t_30","t_28","t_33","t_31","t_34","t_32","macro_t_1","l_name","l_id","l_content_modifier","add_url_param","remove_url_param","queryStringToDict","dictToQueryString","param","replaceState","s_length","bit","second","dict_to_query_string","prefix","prefix_key","iTab","boxes","button_active_class","box_hidden_class","active","is_toggle","is_multiple","active_change","_event_click","_index","dispatch","class_name","invert","multiple","toggle","_change_active_element","Control","users","modal_form","email_input","name_input","password_input","error_wrap","add_button","i_form","b_ajax_form","email_form_field","add_user_widget","validate","action","_enable_password_field","_check_email","modal","clear_error_message","user_list","is_user","stop_submit","is_id_user","id_user","last_name","first_name","_disable_password_field","start_submit","User","password_field","button_submit","combo_tab","is_blocked","combo_tab_status","b_submit_button","_change_password","_edit_user","append_alert","push_alert","alert_name","div","DEFAULT_PROGRESS","percent","Report","report","tracks","report_id","group_trk","progress","seeker","add_from_file","add_phonogram_modal","relay_phonogram_modal","phonogram_table","phonogram_tbody","remove_track_button","search_phonogram","filter_phonogram","button_music_library","report_status","report_type","report_file_id","file_id","report_file_progress","file","contrack_group_id","constant","month_unixtime","checked_items","search_widget","filter_widget","sort_widget","_show_progress","show_comparison_inProgress_modal","_add_from_file","contract_category_group_id","iModal","relay_modal_template","node_link","strict_hide","add_phonogram_template","b_phonogram_add","_add_phonogramm","_check_all","_check_item","_edit_count","_count_keyup","_remove_tracks","_create_modal_reports_list","modal_reports_list","eventContain","thisReportId","_copy_report","id_from","_error_modal","phonogram_list","track_list","track_id","edit_input","edit_preview","track","count_play","keyCode","parent_tr","next_element","nextElementSibling","previousElementSibling","next_input","focus","errormodal_template","close_button","change_body","_toggle_elements","files","ext","exec","allowed_ext","size","width","innerText","_prepare_progress_message_string","timer","status_name","count_tracks_processed","count_tracks","comparison_status_modal","setInterval","macro_t_19","bInlineEdit","l_preview_text","ESC_KEY","PARAMS","STATE_HIDE","STATE_SHOW","html_string","_create","overflow","_insert_params","Comparison","table_body","auto_comparison_button","create_phonogram","report_date","ctime_unixtime","confirm_creation_modal","_create_modal","removeButton","remove_item","start_auto_comparison","_confirm_creation","_create_phonograms","renderModal","comparsion_phonogram_report","modal_create","user_id","task_id","task","interval","clearInterval","phonogram_item","modal_template","track_data","alias_name_like","alias_performers_like","performer","alias_publisher_like","publisher","confirmModal","_confirm_action","cancel_button","disabled","phonogramItem","Ratings","ratings","with","button_add","button_delete","button_distribute","checkbox_all","checkbox_item","checker","iCheck","delete_confirm_modal","distribute_confirm_modal","checked_ratings","_show_modal","_delete_rating","_distribute_rating","_select_row","rating_items","rating_list","id_list","err_count","rating","month_list","_set_period","selected_month","_get_selected_month","_set_track_count","_getBalance","row","prev_year_month","prev_year","UTC","last_rating_month","sum_filed","cursor","iChecker","checkbox_item_list","checkbox_list","_set_events","_event_check","filter","RATING_STATUS_ERROR","RATING_STATUS_IN_WORK","Rating","rating_id","button_to_work","upload_by_rightholders","upload_by_users","phonogram_add","draggable","search_apply","checked_tracks","position_list","rating_status","_init_draggable","_init_checker","_clear_search","_phonogram_modal","_to_work_status","_upload_by","table_content","iDraggable","orientation","current_index","current_element","before","_insertAfter","_send_position","_render_content","stringify","reference_node","all_checkboxes","upload_template","modalContent","currentStatus","status_checker","upload_body_template","items","_bind_items","positions","dataTransfer","effectAllowed","navigator","userAgent","setData","pageY","_trigger_columns","pageX","_trigger_rows","y","loop","column_position","left","right","Distributions","reward","tbody","add_distribution","_go_to_detail","_change_status","item_template","reward_list","createTextNode","_show_error","status_template","RatingDistribution","items_template","TEMPLATES","export_documents_template","batch","batch_export_template","RewardDistribution","rightholders","reward_id","min_summ","upload_checked_button","button_batch_load","button_pay_out","button_upload_report","pay_out_status","b_distribution_data","pay_out_confirm_modal","modal_export","_export_documents_modal","_batch_export_modal","_pay_out","_upload_report_modal","rightholder_list","inline_edit","inline_preview","rightholder","amount_transfer","update_summ","form_widget","doc_list","_get_export_files","template_name","documents","render_data","is_additional","upload_report_template","upload_report_body_template","macro_t_20","FILTER_PERIOD_POSTFIX","RewardReport","delete_button","add_report_button","_init_check_items","oldCheckItems","newCheckItems","reports_add_modal","checkedIds","everyChecked","someChecked","macro_t_18","URLS","common","final_report","top_list","final_top_list","make_top_list","CONTENT_TEMPLATES","common_content","final_report_content","top_list_content","final_top_list_content","make_top_list_content","EXPORT_PARAMS","contragent_type","ReportingDistribution","table_tbody","reporting_panel","calendar","calendar_button","tab_button","export_button","show_button","reporting_tabs","period","calendar_widget","reporting_url","reporting_template","reporting_content_template","export_param","active_tab","date_to","period_to","_show_reporting","_get_reporting","_export_reporting","_rightholders_modal","_payers_modal","rightholders_modal","payers_modal","_get_table_height","export_note_template","ReportingUsers","category_list","category_group_list","reward_date_from","reward_date_to","reward_date","input_contragent","input_contragent_id","input_rightholder","input_rightholder_id","input_track","input_track_id","filter_wrapper","values_wrap","b_input_contragent","b_input_rightholder","b_input_track","contragents_id_list","righolders_id_list","tracks_id_list","isParamRemoved","_clear_table","name_inner_like","contragent_list","name_inner","name_like","alias_list","list_template","error_block","color","emptyList_template","macro_t_9","ReportingRecipients","contract_types","_event_filter_clear","MAX_QUERY_COUNT","current_query_count","ReportingRetainedBalance","PATH","generate_report_button","orderby","tracksumostat_list","_generate_report","generate_report_template","setupModal","rtype","rawResponse","statusResponse","rawStatusResponse","DATE_FILTER_POSTFIX","begin","end","PaymentFiles","payments","payment_files_template","file_buttons","filename","_update_file_modal_window_handler","_event_load_file","update_button","update_file_modal_template","remove_spinner","json","file_list","table_content_template","_escape_html","_show_error_modal","form_object","date_from","cdate","_prepare_date","period_list","parse_date","m","PaymentFile","payment","protocol_list","payment_date","Payments","exportButton","_export_to_excel","payment_list","_export_params","filters","reduce","References","comission","_submit_form","_submit_checker","form_data","PaymentProtocol","Contracts","_calc_table_wrap","Contragents","contragents","RightholdersDocuments","decline_button","accept_button","reason_status_button","modal_body","modal_add_body","modal_reason_body","input_file_name","modal_add","reason_status","suggest_contract_name","_show_add_file_modal","_show_decline_modal","_accept_and_delete_bind","input_file","input_date","response_status","thisDateFormat","modal_add_form","_add_document_data","modal_close","document_id","eventClassList","doc_id","_delete_loaded_file_request","_send_accepted_request","_get_reason_text","search_like","document_list","description","_show_modal_reason","inputFiles","rms_contract_id","EXPORT_INFO","export_modal","process_started","task_completed","task_success","error_message","ReportingAccruals","cloud_image","cloud","_create_export_process_modal","_make_export_task","progress_modal_template","process","activeTask","_check_export_task_status","__webpack_public_path__","uploadModal","FonmixReports","export_report_button","upload_button","upload_form","uploadFiles","selectedIds","_make_upload_modal","find","fonmix_report_id","dataset","report_modal_template","URLSearchParams","fonmixreport_list","init_fio","_get_data","attachEvents","upload_modal_template","input_original_name","FonmixReportsMatch","match_modal","_makeMatchModal","comparsion_modal","is_fonmix","last_mxhub_id","ReportingFonmixStatistics","file_input","fileName","textContent","convertDateStr","dateStr","makeData","rightholder_id","showErrorMessage","bTab","query_body","Widget","_context","exist","bForm","iForm","_parent","_fields","_is_valid","make","field_instance","iFormField","remove_error_message","parse_square","create_square","part","o","acc","branch","branches","nextKey","temp","branchesExist","every","_field","_default_value","_default_checked_attr","_default_select_one_value","selectedIndex","_validators","new_value","get_validators","_get_error_message","_change_state_validate","ARROW_DOWN","ARROW_UP","ENTER","ESC","TAB","bInput","suggest","suggest_list","_is_choosed","strict_input","_event_keydown","_suggest_choose","_lost_focus","_click_outside","_suggest_down","_suggest_up","_current_suggest","isInteger","click","iDropdown","modifier","createDocumentFragment","_event_click_suggest","parent_body","_status","_change_position","pageYOffset","boxHeight","height","inputHeight","diff","innerHeight","DocumentFragment","bModal","script","change_window_hash_reference","_change_window_hash","bDropdown","_dropdown","submit_button","reset_button","values_result","values_buttons","filter_values_wrap_class","filter_state","set_get_params","_init","_event_reset","button_count","button_name","control_type","action_type","valid","button_value","is_ignored","__widget__","option_index","button_template","_event_button_click","is_dispatch","is_empty_form","_create_button","hide_filter_wrap","asc","desc","_toggle_filter_wrap","hasChildNodes","count","who","clear","_clear_input","_show_button","bButtonSubmit","spinner","_create_spinner","bTableSort","sort_buttons","_event_sort","sort_item","sort_type","sort_name","additional","bPaginate","limit","left_button","right_button","scrollTo","to","bAjaxForm","default_text","redirect","_is_stop","_is_reload","_event_submit","widget_form","_to_timestamp","_convert_duration","new_date","time","time_list","seconds_multiplier","bConfirmModal","confirm_button","_cancel_action","MONTHS","bCalendar","months","button_apply","_last_element","td","_check_selected_class","_check_current_dates","from","_from","bPhonogramRelay","stations","phonograms","wrap","search_name","search_singer","search_producer","relay_params","station_search_widget","search_widgets","_station_search","_phonogram_search","_get_tracks","_add_tracks","phonogram_list_item","contragent_name_like","station_list_item","input_value","input_name","bPhonogramAdd","tbody_td","thead_td","add_button_counter","tr_button","tr_box","dropdown_filter","dropdown_filter_button","modal_query_params","modal_search","_modal_search","_modal_get_default","modal_filter","_modal_filter","_modal_check_all","_modal_check_item","_modal_add_phonogrms","modal_add_new_track","add_new_track_form","errormes","modal_phonogram_list","phonogram","item_list","_modal_post_data","contragent_id","_modal_render","result_count","_show_add_track_modal","_init_tabs","bReportData","block_statistic","combo_block","select_payment","show_toggle_balance","input_balance_view","input_balance_confirm","combo_button_value","report_balance","balance_confirm","num","contract_num","blocked","is_stat_blocked","_show_toggle_input","_change_report_summ","_change_payment_month_period","newSumm","payment_month","bComparisonManual","filter_checkboxes","button_copy_default","check_button","coolaps_button","coolaps_box","addCombinedBlock","addCombinedButton","currrent_track_id","isFonmix","_set_edit_items_link","_check_track","_copy_default","_generate_filter_data","checkbox","_add_combined","_attch_collapse_event","collapse","content_place","now","getDate","getHours","getMinutes","getSeconds","getMilliseconds","content_box","hideElements","baseUrl","bDistributionData","summ_amount","summ_pay","in_work_button","radio_button_value","status_confirm_modal","bRewardReportsAdd","_search","_add_reports","report_array","report_part","_add_reports_part","reports_array","add_checkers","controls","preview","_reset_display","ACTIVE_CLASS","bCombo","inputs","active_button_index","bRewardReportsList"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACtCA;;AAEA;;AAEA;;;;AACA;;AACA;;AAkCA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AA9DAA,kBAAOC,MAAP,CAAc;AACVC,WAAM,SADI;AAEVC,WAAM;AAFI,EAAd;;AAKA,4BAAc,SAAd,EAAyB,CACrB,mBAAAC,CAAQ,GAAR,CADqB,EAErB,mBAAAA,CAAQ,GAAR,CAFqB,EAGrB,mBAAAA,CAAQ,GAAR,CAHqB,EAIrB,mBAAAA,CAAQ,GAAR,CAJqB,EAKrB,mBAAAA,CAAQ,GAAR,CALqB,EAMrB,mBAAAA,CAAQ,GAAR,CANqB,EAOrB,mBAAAA,CAAQ,GAAR,CAPqB,EAQrB,mBAAAA,CAAQ,GAAR,CARqB,EASrB,mBAAAA,CAAQ,GAAR,CATqB,EAUrB,mBAAAA,CAAQ,GAAR,CAVqB,EAWrB,mBAAAA,CAAQ,GAAR,CAXqB,EAYrB,mBAAAA,CAAQ,GAAR,CAZqB,EAarB,mBAAAA,CAAQ,GAAR,CAbqB,EAcrB,mBAAAA,CAAQ,GAAR,CAdqB,EAerB,mBAAAA,CAAQ,GAAR,CAfqB,EAgBrB,mBAAAA,CAAQ,GAAR,CAhBqB,EAiBrB,mBAAAA,CAAQ,GAAR,CAjBqB,EAkBrB,mBAAAA,CAAQ,GAAR,CAlBqB,EAmBrB,mBAAAA,CAAQ,GAAR,CAnBqB,EAoBrB,mBAAAA,CAAQ,GAAR,CApBqB,EAqBrB,mBAAAA,CAAQ,GAAR,CArBqB,EAsBrB,mBAAAA,CAAQ,GAAR,CAtBqB,CAAzB;;AAyBA,4BAAc,MAAd,EAAsB,OAAtB;;AAkCAJ,kBAAOK,KAAP,GAAeC,MAAf,G;;;;;;mECxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAqC,QAAQ,mBAAmB,EAAE,EAAE,EAAE;AACtE,MAAK;AACL;AACA;AACA,8CAA6C,iBAAiB;;AAE9D;AACA;AACA;AACA;;AAEA;AACA,oCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,IAAG,+BAA+B,gCAAgC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,4BAA4B,EAAE;AAC9D,sCAAqC,6BAA6B;AAClE,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB,QAAO;AACP;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAsC,aAAa;AACnD,yCAAwC,eAAe;AACvD,yCAAwC,eAAe;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,eAAe;AACtC,+BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C,qCAAoC,UAAU;AAC9C,oBAAmB,kBAAkB;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA6B,yEAAyE,EAAE;AACxG,2BAA0B,2CAA2C,EAAE;AACvE,0BAAyB,2CAA2C,EAAE;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAAyC;AACzC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,iCAAgC,UAAU;AAC1C,qDAAoD,eAAe;AACnE;AACA,MAAK;;AAEL;AACA;AACA,sBAAqB,UAAU,EAAE;AACjC,2CAA0C,gCAAgC;AAC1E;AACA,MAAK;;AAEL;AACA;AACA;AACA,uBAAsB,wBAAwB;AAC9C;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,WAAW;AAChD;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,QAAQ;AACrD;AACA,QAAO;AACP,MAAK;AACL;AACA,8CAA6C,QAAQ;AACrD;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA,2CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,iDAAgD,YAAY;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,OAAO,4BAA4B,EAAE;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAoB,WAAW;AAC/B,qBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,cAAc;AACtE;AACA,kDAAiD,cAAc;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,oBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAiC,mBAAmB;AACpD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,8EAA6E,aAAa;AAC1F;AACA;AACA,kEAAiE,+DAA+D,EAAE;AAClI;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,6CAA4C,sBAAsB,EAAE;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAAyB,aAAa;AACtC,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,oCAAmC,aAAa,EAAE;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,OAAO;AACnD;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB,UAAS;AACT,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA,+DAA8D,2BAA2B,EAAE;AAC3F;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,yDAAwD,0BAA0B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,iEAAgE,0CAA0C,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,iEAAgE,sDAAsD,EAAE;AACxH;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,iEAAgE,2BAA2B,EAAE;AAC7F;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,+BAA+B,EAAE;AACrG;AACA;AACA;AACA,uCAAsC,aAAa;AACnD;AACA,QAAO;AACP;AACA;AACA;AACA,mEAAkE,6BAA6B,EAAE;AACjG;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,+BAA+B,EAAE;AACrG;AACA;AACA;AACA,uCAAsC,aAAa;AACnD;AACA,QAAO;AACP;AACA;AACA;AACA,8EAA6E,wCAAwC,EAAE;AACvH;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,yEAAwE,mCAAmC,EAAE;AAC7G;AACA;AACA;AACA,uCAAsC,cAAc;AACpD;AACA,QAAO;AACP;AACA;AACA;AACA,qEAAoE,qCAAqC,EAAE;AAC3G;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,4CAA2C,gBAAgB;AAC3D,IAAG;AACH;AACA,4CAA2C,0BAA0B;AACrE,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;;AAE9B;AACA;AACA;AACA,yCAAwC,YAAY;AACpD,qBAAoB,UAAU;AAC9B,4BAA2B,UAAU;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA,qBAAoB,UAAU;AAC9B,sBAAqB,kBAAkB;AACvC,qBAAoB,iBAAiB;AACrC;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA,qBAAoB,UAAU;AAC9B;AACA;AACA,oBAAmB,QAAQ;AAC3B;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,qBAAoB,UAAU,EAAE;AAChC,4BAA2B,YAAY;AACvC,gCAA+B,iBAAiB;;AAEhD;AACA;AACA,MAAK;;AAEL;AACA;AACA,6BAA4B,WAAW;AACvC,2CAA0C,UAAU;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,2CAA0C,UAAU;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,uCAAsC,UAAU;AAChD;AACA,qBAAoB,UAAU;AAC9B,sBAAqB,WAAW;;AAEhC;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA,8EAA6E,QAAQ;;AAErF;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,qBAAqB,EAAE,EAAE;;AAEtG;AACA,0CAAyC,UAAU;AACnD,yCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,6BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA,sCAAqC,sCAAsC;AAC3E;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA,+CAA8C;AAC9C,MAAK;AACL;AACA;AACA,MAAK;AACL,iEAAgE,sCAAsC,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C,QAAO;AACP,qBAAoB;AACpB;AACA,uBAAsB;AACtB,MAAK;;AAEL;AACA;AACA;AACA;AACA,8CAA6C,WAAW,mBAAmB,YAAY,EAAE,EAAE;AAC3F;AACA;AACA,MAAK;;AAEL;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,IAAI;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,uCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;AACA;AACA,kCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,uCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;AACA;AACA,kCAAiC,OAAO;AACxC;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,wEAAuE;AACvE;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,wCAAuC,aAAa;AACpD;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX;AACA;AACA;AACA,cAAa;AACb;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,+BAA8B;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,uCAAuC,EAAE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;;AAEP;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA,QAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,2CAA0C;AAC1C;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,+DAA8D,WAAW;AACzE;AACA,qIAAoI,aAAa;AACjJ;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC,+CAA+C,EAAE;AACpF,0BAAyB,2CAA2C,EAAE;AACtE,8BAA6B,6CAA6C,EAAE;AAC5E,4BAA2B,yCAAyC,EAAE;AACtE,8BAA6B,0CAA0C,EAAE;AACzE,2CAA0C,oDAAoD,EAAE;AAChG,wCAAuC,kDAAkD,EAAE;AAC3F,kCAAiC,yCAAyC,EAAE;AAC5E,+BAA8B,8CAA8C,EAAE;AAC9E,8BAA6B,6CAA6C,EAAE;AAC5E,gCAA+B,8CAA8C,EAAE;AAC/E,0BAAyB,2CAA2C,EAAE;AACtE,0BAAyB,2CAA2C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,uBAAsB,cAAc,EAAE;AACtC;AACA,sBAAqB,cAAc,EAAE;AACrC,sDAAqD,aAAa,EAAE;AACpE,8CAA6C,aAAa,EAAE;AAC5D,gBAAe;AACf;AACA,+BAA8B,IAAI,aAAa,EAAE;AACjD;AACA,IAAG;AACH;AACA;AACA,uBAAsB,aAAa,EAAE;AACrC,oDAAmD,gDAAgD;AACnG,IAAG;AACH;AACA;AACA;AACA,uCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;;;;;;;ACjzHD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;;;;;;;;;;;ACAA;;AAEA;;;AAGA;;;;AAIA,KAAI,CAAE,SAASC,CAAT,GAAa,CAAE,CAAhB,CAAkBC,IAAvB,EAA6B;AACzBC,YAAOC,cAAP,CAAsBC,SAASC,SAA/B,EAA0C,MAA1C,EAAkD;AAC9CC,cAAK,eAAW;AACZ,iBAAIL,OAAO,KAAKM,QAAL,GAAgBC,KAAhB,CAAsB,uBAAtB,EAA+C,CAA/C,CAAX;AACA;AACA;AACAN,oBAAOC,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC,EAAEM,OAAOR,IAAT,EAApC;AACA,oBAAOA,IAAP;AACH;AAP6C,MAAlD;AASH;AACD,KAAI,CAACS,SAASL,SAAT,CAAmBM,MAAxB,EAAgC;AAC5BD,cAASL,SAAT,CAAmBM,MAAnB,GAA4B,YAAY;AACpC;AACH,MAFD;AAGH;AACD,KAAI,CAACC,QAAQP,SAAR,CAAkBQ,OAAnB,IAA8BD,QAAQP,SAAR,CAAkBS,iBAApD,EAAuE;AACnEF,aAAQP,SAAR,CAAkBQ,OAAlB,GAA4B,UAAUE,QAAV,EAAoB;AAC5C,gBAAO,KAAKD,iBAAL,CAAuBC,QAAvB,CAAP;AACH,MAFD;AAGH;;AAED,KAAItB,SAAS;AACTuB,aAAQ,EADC;AAETrB,WAAM,IAFG;AAGTC,WAAM,GAHG;AAITqB,oBAAe,IAJN;AAKTC,iBAAY,CALH;AAMTC,aAAQ,IANC;;AAQTC,mBAAc,EARL;;AAWT;;;;;AAKA1B,aAAQ,gBAAS2B,OAAT,EAAkB;AACtB,cAAK1B,IAAL,GAAY0B,WAAWA,QAAQ1B,IAAnB,IAA2B0B,QAAQ1B,IAAR,IAAgB,SAA3C,IACT,CAAC,CAAE2B,QAAQC,SADF,GACe,SADf,GAC2B,MADvC;AAEA,cAAK3B,IAAL,GAAYyB,WAAWA,QAAQzB,IAAnB,GAA0B,MAAM,KAAK4B,YAAL,CAAkBH,QAAQzB,IAA1B,CAAN,GAAwC,GAAlE,GAAwE,GAApF;;AAEA,aAAIyB,QAAQJ,aAAZ,EAA2B;AACvB,kBAAKA,aAAL,GAAqBI,QAAQJ,aAA7B;AACH;;AAED,gBAAO,IAAP;AACH,MA1BQ;;AA6BTQ,yBAAoB,8BAAyC;AAAA,aAAhCC,GAAgC,uEAA1BC,SAASC,QAAT,CAAkBC,MAAQ;;AACzD,aAAIH,IAAII,MAAR,EAAgB;AACZ,oBAAO,CAACJ,OAAOC,SAASC,QAAT,CAAkBC,MAA1B,EAAkCE,OAAlC,CAA0C,OAA1C,EAAkD,EAAlD,EAAsDC,KAAtD,CAA4D,GAA5D,EAAiEC,GAAjE,CACH,UAAUC,MAAV,EAAkB;AACd,qBAAIC,MAAMD,OAAOE,OAAP,CAAe,GAAf,IAAsB,CAAhC;AACA,qBAAInC,OAAOiC,OAAOG,KAAP,CAAa,CAAb,EAAgBH,OAAOE,OAAP,CAAe,GAAf,CAAhB,CAAX;AACA,sBAAKnC,IAAL,IAAaqC,mBAAmBJ,OAAOG,KAAP,CAAaF,GAAb,EAAkBD,OAAOJ,MAAzB,CAAnB,CAAb;;AAEA,wBAAO,IAAP;AACH,cAND,CAMES,IANF,CAMO,EANP,CADG,EAQL,CARK,CAAP;AASH;AACJ,MAzCQ;;AA4CT;;;;AAIAC,iBAAY,oBAAUC,UAAV,EAAsB;AAC9B,cAAKxB,aAAL,GAAqB,YAAmB;AAAA,+CAANyB,IAAM;AAANA,qBAAM;AAAA;;AACpC,gDAAID,UAAJ,gBAAkBC,IAAlB;AACH,UAFD;AAGH,MApDQ;;AAuDT;;;;AAIAC,kBAAa,uBAAW;AACpB,aAAIC,WAAW,EAAf;AACA,aAAG,KAAKjD,IAAL,KAAc,SAAjB,EAA4B;AACxBiD,wBAAW,KAAKpB,YAAL,CAAkBqB,UAAUjB,SAASkB,QAAT,GAAoBlB,SAASC,MAAvC,CAAlB,CAAX;AACAe,wBAAWA,SAASb,OAAT,CAAiB,SAAjB,EAA4B,EAA5B,CAAX;AACAa,wBAAW,KAAKhD,IAAL,IAAa,GAAb,GAAmBgD,SAASb,OAAT,CAAiB,KAAKP,YAAL,CAAkB,KAAK5B,IAAvB,CAAjB,EAA+C,EAA/C,CAAnB,GAAwEgD,QAAnF;AACH,UAJD,MAIO;AACH,iBAAIpC,QAAQuC,OAAOnB,QAAP,CAAgBoB,IAAhB,CAAqBxC,KAArB,CAA2B,QAA3B,CAAZ;AACAoC,wBAAWpC,QAAQA,MAAM,CAAN,CAAR,GAAmB,EAA9B;AACH;AACD,gBAAO,KAAKgB,YAAL,CAAkBoB,QAAlB,CAAP;AACH,MAtEQ;;AAyET;;;;;AAKApB,mBAAc,sBAASyB,IAAT,EAAe;AACzB,gBAAOA,KAAK1C,QAAL,GAAgBwB,OAAhB,CAAwB,KAAxB,EAA+B,EAA/B,EAAmCA,OAAnC,CAA2C,KAA3C,EAAkD,EAAlD,CAAP;AACH,MAhFQ;;AAmFT;;;;;;AAMAmB,UAAK,aAASD,IAAT,EAAeE,OAAf,EAAwB;AACzB,cAAKnC,MAAL,CAAYoC,IAAZ,CAAiB,EAAEH,MAAM,KAAKzB,YAAL,CAAkByB,IAAlB,CAAR,EAAiCE,SAASA,OAA1C,EAAjB;AACA,gBAAO,IAAP;AACH,MA5FQ;;AA+FT;;;;;AAKAE,eAAU,kBAAUZ,UAAV,EAAsB;AAAA;;AAC5B,aAAIa,UAAU,EAAd;;AAEA,aAAI,CAACb,WAAWc,KAAhB,EAAuB;AACnB,mBAAM,yEAAN;AACH;;AAED,cAAKnC,YAAL,CAAkBqB,WAAWxC,IAA7B,IAAqCwC,UAArC;;AAEA,aAAIA,WAAWc,KAAX,IAAoBd,WAAWc,KAAX,CAAiBhD,QAAjB,OAAgC,iBAAxD,EAA2E;AACvE+C,uBAAUpD,OAAOsD,IAAP,CAAYf,WAAWc,KAAvB,EAA8BtB,GAA9B,CAAkC,UAASwB,IAAT,EAAe;AACvD,wBAAOhB,WAAWc,KAAX,CAAiBE,IAAjB,CAAP;AACH,cAFS,CAAV;AAGH,UAJD,MAIO;AACHH,uBAAUI,MAAMC,OAAN,CAAclB,WAAWc,KAAzB,IAAkCd,WAAWc,KAA7C,GAAqD,CAACd,WAAWc,KAAZ,CAA/D;AACH;;AAED,4BAAKD,OAAL,EAAc,iBAAS;AACnB,mBAAKJ,GAAL,CAASK,KAAT,EAAgB,UAAUK,MAAV,EAAkB;AAC9B,oCAAK,2BAAajC,SAASkC,IAAtB,CAAL,EAAkC,kBAAU;AACxC,iDAAcC,MAAd;AACH,kBAFD;;AAIA,6CAAcnC,SAASkC,IAAvB;;AAEA,qBAAIE,WAAW,IAAItB,UAAJ,CAAemB,MAAf,EAAuB,KAAKnC,kBAAL,EAAvB,CAAf;AACA,6CAAcE,SAASkC,IAAvB,EAA6BE,QAA7B;AAEH,cAVe,CAUdxB,IAVc,CAUT,KAVS,CAAhB;AAWH,UAZD;AAaH,MAlIQ;;AAqIT;;;;;AAKAyB,aAAQ,gBAASf,IAAT,EAAe;AACnB,cAAKjC,MAAL,CAAYiD,OAAZ,CAAoB,UAAUV,KAAV,EAAiBW,KAAjB,EAAwB;AACxC,iBAAIX,MAAMN,IAAN,KAAeA,IAAnB,EAAyB;AACrB,sBAAKjC,MAAL,CAAYmD,MAAZ,CAAmBC,CAAnB,EAAsB,CAAtB;AACH;AACJ,UAJmB,CAIlB7B,IAJkB,CAIb,IAJa,CAApB;;AAMA,gBAAO,IAAP;AACH,MAlJQ;;AAqJT;;;;AAIA8B,YAAO,iBAAW;AACd,cAAKrD,MAAL,GAAc,EAAd;AACA,cAAKrB,IAAL,GAAY,IAAZ;AACA,cAAKC,IAAL,GAAY,GAAZ;AACA,gBAAO,IAAP;AACH,MA9JQ;;AAiKT;;;;;AAKAE,YAAO,eAAUE,CAAV,EAAa;AAAA;;AAChB,aAAI4C,WAAW5C,KAAK,KAAK2C,WAAL,EAApB;AACA,aAAI2B,gBAAgB1B,SAASZ,KAAT,CAAe,GAAf,CAApB;AACA,aAAIuC,KAAK,IAAIC,MAAJ,CAAW,QAAX,EAAqB,GAArB,CAAT;;AAEA,aAAI,KAAKrD,MAAL,KAAgB,IAApB,EAA0B;AACtB,oBAAO,IAAP;AACH;;AAED,cAAK,IAAIiD,KAAI,CAAb,EAAgBA,KAAI,KAAKpD,MAAL,CAAYc,MAAhC,EAAwCsC,IAAxC,EAA6C;AACzC,iBAAIb,QAAQ,KAAKvC,MAAL,CAAYoD,EAAZ,CAAZ;;AAEA,iBAAIxB,aAAaW,MAAMN,IAAvB,EAA6B;AACzBM,uBAAMJ,OAAN,CAAcsB,KAAd,CAAoB,EAApB;AACA,wBAAO,IAAP;AACH,cAHD,MAGO;AAAA;AACH,yBAAIC,YAAYnB,MAAMN,IAAN,CAAWjB,KAAX,CAAiB,GAAjB,CAAhB;AACA,yBAAI4B,SAAS,EAAb;AACA,yBAAIe,WAAW,IAAf;;AAEA,yBAAID,UAAU5C,MAAV,KAAqBwC,cAAcxC,MAAvC,EAA+C;AAC3C4C,mCAAUT,OAAV,CAAkB,UAAUR,IAAV,EAAgBS,KAAhB,EAAuB;AACrC,iCAAGT,KAAKjD,KAAL,CAAW+D,EAAX,CAAH,EAAmB;AACf,qCAAItE,OAAOwD,KAAK1B,OAAL,CAAa,SAAb,EAAwB,EAAxB,CAAX;AACA6B,wCAAO3D,IAAP,IAAeqE,cAAcJ,KAAd,CAAf;AAEH,8BAJD,MAIO,IAAII,cAAcJ,KAAd,MAAyBT,IAA7B,EAAmC;AACtCkB,4CAAW,KAAX;AACA,wCAAO,KAAP;AACH;AACJ,0BATD;;AAWA,6BAAIA,QAAJ,EAAc;AACVpB,mCAAMJ,OAAN,CAAcsB,KAAd,CAAoB,EAApB,EAAwB,CAACb,MAAD,CAAxB;AACA;AAAA,oCAAO;AAAP;AACH;AACJ;AArBE;;AAAA;AAsBN;AACJ;;AAED,cAAKgB,KAAL,CAAW,GAAX;AACA,gBAAO,IAAP;AACH,MAhNQ;;AAmNT;;;;AAIA7E,aAAQ,kBAAW;AACf,aAAI8E,UAAU,KAAKlC,WAAL,EAAd;AACA,aAAId,SAASkB,OAAOnB,QAAP,CAAgBC,MAA7B;AACA,aAAIN,YAAYD,QAAQC,SAAxB;AACAD,iBAAQC,SAAR,GAAoB,UAASuD,KAAT,EAAgB;AAChC,iBAAIC,KAAKxD,UAAUkD,KAAV,CAAgBnD,OAAhB,EAAyB0D,SAAzB,CAAT;;AAEA,iBAAI,OAAO1D,QAAQ2D,WAAf,IAA8B,UAAlC,EAA8C;AAC1C3D,yBAAQ2D,WAAR,CAAoB,EAACH,OAAOA,KAAR,EAApB;AACH;;AAED,oBAAOC,EAAP;AACH,UARD;;AAWApD,kBAASuD,mBAAT,CAA6B,OAA7B,EAAsCC,cAAtC;AACAxD,kBAASyD,gBAAT,CAA0B,OAA1B,EAAmCD,cAAnC;;AAEApC,gBAAOsC,UAAP,GAAoB/D,QAAQ2D,WAAR,GAAsB,YAAY;AAClD,iBAAGJ,YAAY,KAAKlC,WAAL,EAAZ,IAAkCd,WAAWkB,OAAOnB,QAAP,CAAgBC,MAAhE,EAAwE;AACpEgD,2BAAU,KAAKlC,WAAL,EAAV;AACAd,0BAASkB,OAAOnB,QAAP,CAAgBC,MAAzB;AACA,sBAAK/B,KAAL,CAAW+E,OAAX;AACH;AACJ,UANyC,CAMxCtC,IANwC,CAMnC,IANmC,CAA1C;AAOA,gBAAO,IAAP;AACH,MAjPQ;;AAoPT;;;;;AAKA+C,eAAU,kBAASrC,IAAT,EAAe;AACrB,aAAIpB,SAASkB,OAAOnB,QAAP,CAAgBC,MAA7B;AACAoB,gBAAOA,OAAOA,IAAP,GAAc,EAArB;;AAEA,aAAIA,KAAKb,OAAL,CAAa,GAAb,IAAoB,CAAC,CAAzB,EAA4B;AACxB,oBAAO,IAAP;AACH;;AAED,aAAI,KAAKzC,IAAL,KAAc,SAAlB,EAA6B;AACzB,iBAAI4F,WAAW,KAAK3F,IAAL,GAAYqD,KAAKlB,OAAL,CAAa,KAAb,EAAoB,EAApB,CAA3B;;AAEA,iBAAIgB,OAAOnB,QAAP,CAAgBkB,QAAhB,GAA2BjB,MAA3B,KAAsC0D,QAA1C,EAAmD;AAC/CjE,yBAAQC,SAAR,CAAkB,IAAlB,EAAwB,IAAxB,EAA8BgE,QAA9B;AACH,cAFD,MAEO;AACH,sBAAKzF,KAAL;AACH;AACJ,UARD,MAQO;AACHiD,oBAAOnB,QAAP,CAAgBoB,IAAhB,GAAuBD,OAAOnB,QAAP,CAAgBoB,IAAhB,CAAqBjB,OAArB,CAA6B,QAA7B,EAAuC,EAAvC,IAA6C,GAA7C,GAAmDkB,IAA1E;AACH;;AAED,gBAAO,IAAP;AACH,MA9QQ;;AAiRT;;;;AAIA2B,YAAO,eAASY,IAAT,EAAe;AAClB,aAAI,KAAKvE,aAAT,EAAwB;AACpB,kBAAKA,aAAL,CAAmBwD,KAAnB,CAAyB,EAAzB,EAA6B,CAACe,IAAD,CAA7B;AACA,kBAAKrE,MAAL,GAAc,IAAd;AACH;AACJ,MA1RQ;;AA6RT;;;;;AAKAsE,qBAAgB,wBAASC,eAAT,EAA0B;AACtC,gBAAO,KAAKtE,YAAL,CAAkBsE,eAAlB,CAAP;AACH,MApSQ;;AAuST;;;AAGAC,cAAS,iBAAS1F,IAAT,EAA0B;AAAA,aAAX2D,MAAW,uEAAJ,EAAI;;AAC/B,aAAI8B,kBAAkBzF,KAAK+B,KAAL,CAAW,GAAX,EAAgB4D,KAAhB,EAAtB;AACA,aAAIC,MAAM5F,KAAK+B,KAAL,CAAW,GAAX,EAAgB8D,GAAhB,EAAV;AACA,aAAIC,kBAAkBtG,OAAOgG,cAAP,CAAsBC,eAAtB,CAAtB;AACA,aAAIzC,aAAJ;;AAEA,aAAI,CAAC8C,eAAD,IAAoB,CAACA,gBAAgBxC,KAAzC,EAAgD;AAC5C,mBAAM,yEAAN;AACH;;AAED,aAAItD,KAAKmC,OAAL,CAAa,GAAb,IAAoB,CAAC,CAAzB,EAA4B;AACxBa,oBAAO8C,gBAAgBxC,KAAhB,CAAsBsC,GAAtB,CAAP;AACH,UAFD,MAEO;AACH5C,oBAAO8C,gBAAgBxC,KAAvB;AACH;AACDrD,gBAAOsD,IAAP,CAAYI,MAAZ,EAAoBK,OAApB,CAA4B,eAAO;AAC/BhB,oBAAOA,KAAKlB,OAAL,CAAa,MAAI8D,GAAJ,GAAQ,GAArB,EAA0BjC,OAAOiC,GAAP,CAA1B,CAAP;AACH,UAFD;;AAIA,gBAAO5C,IAAP;AACH,MA9TQ;;AAiUT;;;;;;AAMA+C,cAAS,iBAASN,eAAT,EAAqC;AAAA,aAAX9B,MAAW,uEAAJ,EAAI;;AAC1C,gBAAO,KAAKjB,WAAL,MAAsB,KAAKnB,YAAL,CAAkB,KAAKmE,OAAL,CAAalB,KAAb,CAAmB,EAAnB,EAAuBO,SAAvB,CAAlB,CAA7B;AACH;AAzUQ,EAAb;;AA6UAiB,QAAOC,OAAP,GAAiBzG,MAAjB;;AAGA;;;;AAIA,UAAS0F,cAAT,CAAwBgB,KAAxB,EAA+B;AAC3B,SAAIC,IAAI,sBAAQD,MAAME,MAAd,EAAsB,GAAtB,CAAR;;AAEA,SAAI,CAACD,CAAL,EAAQ;AACJ;AACH;;AAED,SAAID,MAAMG,OAAN,IAAiBH,MAAMI,MAAN,KAAiB,CAAtC,EAAyC;AACrC;AACH;;AAED,SAAI,CAACH,EAAEI,IAAH,IAAW,CAACJ,EAAEK,YAAF,CAAe,QAAf,CAAhB,EAA0C;AACtCN,eAAMO,cAAN;AACAjH,gBAAO6F,QAAP,CAAgBc,EAAEO,YAAF,CAAe,MAAf,CAAhB;AACH;AACJ,E;;;;;;;;;;;;;;SCvXeC,I,GAAAA,I;SAcAtG,G,GAAAA,G;SAYAuG,U,GAAAA,U;SAcAC,I,GAAAA,I;SAuBAC,Y,GAAAA,Y;SAiBAC,Y,GAAAA,Y;SAgBAC,a,GAAAA,a;SAiBAC,O,GAAAA,O;SAqBAC,U,GAAAA,U;SAkBAC,Y,GAAAA,Y;SAUAC,W,GAAAA,W;SAWAC,U,GAAAA,U;SAoBAC,U,GAAAA,U;SAkBAC,a,GAAAA,a;SAaAC,a,GAAAA,a;SAaAC,Y,GAAAA,Y;SAiBAC,a,GAAAA,a;SAcAC,M,GAAAA,M;SAUAC,a,GAAAA,a;SAcAC,Y,GAAAA,Y;SAeAC,Y,GAAAA,Y;SAaAC,a,GAAAA,a;SAWAC,c,GAAAA,c;SA8BCC,W,GAAAA,W;SAWDC,e,GAAAA,e;SAeAC,M,GAAAA,M;SAaAC,M,GAAAA,M;SAaAC,Y,GAAAA,Y;;AAxahB;;;;AACA;;;;;;AAGA;;;;;;;AAOO,UAAS1B,IAAT,CAAc2B,GAAd,EAAmBC,IAAnB,EAAyBrF,OAAzB,EAAkCsF,KAAlC,EAAyC;AAC5C,SAAI/F,OAAOgB,MAAMrD,SAAN,CAAgBgC,KAAhB,CAAsBqG,IAAtB,CAA2B1D,SAA3B,CAAX;AACAtC,UAAKiG,OAAL,CAAa,MAAb;AACA,YAAOC,cAAInE,KAAJ,CAAU,EAAV,EAAc/B,IAAd,CAAP;AACH;;AAGD;;;;;;;AAOO,UAASpC,GAAT,CAAaiI,GAAb,EAAkBC,IAAlB,EAAwBrF,OAAxB,EAAiCsF,KAAjC,EAAwC;AAC3C,SAAI/F,OAAOgB,MAAMrD,SAAN,CAAgBgC,KAAhB,CAAsBqG,IAAtB,CAA2B1D,SAA3B,CAAX;AACAtC,UAAKiG,OAAL,CAAa,KAAb;AACA,YAAOC,cAAInE,KAAJ,CAAU,EAAV,EAAc/B,IAAd,CAAP;AACH;;AAGD;;;;;AAKO,UAASmE,UAAT,CAAoB3E,MAApB,EAA4B;AAC/B,SAAI;AACA,gBAAO2G,KAAKC,KAAL,CAAW5G,MAAX,CAAP;AACH,MAFD,CAEE,OAAO6G,CAAP,EAAU;AACR,gBAAO,EAAP;AACH;AACJ;;AAGD;;;;;AAKO,UAASjC,IAAT,CAAckC,IAAd,EAAoB7F,OAApB,EAA6B;AAChC,SAAI,CAAC6F,IAAL,EAAW;AACP;AACH;;AAED,SAAI,EAAEA,gBAAgBtF,KAAlB,CAAJ,EAA8B;AAC1BsF,gBAAOtF,MAAMrD,SAAN,CAAgBgC,KAAhB,CAAsBqG,IAAtB,CAA2BM,IAA3B,CAAP;AACH;;AAED,UAAK,IAAI5E,IAAI,CAAb,EAAgBA,IAAI4E,KAAKlH,MAAzB,EAAiCsC,GAAjC,EAAsC;AAClC,aAAIjB,QAAQ6F,KAAK5E,CAAL,CAAR,EAAiBA,CAAjB,MAAwB,KAA5B,EAAmC;AAC/B;AACH;AACJ;AACJ;;AAGD;;;;;;AAMO,UAAS2C,YAAT,CAAsBkC,SAAtB,EAAiCC,UAAjC,EAA6C/F,OAA7C,EAAsD;AACzD,SAAI8F,qBAAqBE,WAAzB,EAAsC;AAClCF,qBAAY,CAACA,SAAD,CAAZ;AACH;;AAEDnC,UAAKmC,SAAL,EAAgB,UAAUG,IAAV,EAAgB;AAC5BA,cAAKhE,gBAAL,CAAsB8D,UAAtB,EAAkC/F,OAAlC;AACH,MAFD;AAGH;;AAGD;;;;;;AAMO,UAAS6D,YAAT,CAAsBiC,SAAtB,EAAiCC,UAAjC,EAA6C/F,OAA7C,EAAsD;AACzD,SAAI8F,qBAAqBE,WAAzB,EAAsC;AAClCF,qBAAY,CAACA,SAAD,CAAZ;AACH;;AAEDnC,UAAKmC,SAAL,EAAgB,UAAUG,IAAV,EAAgB;AAC5BA,cAAKlE,mBAAL,CAAyBgE,UAAzB,EAAqC/F,OAArC;AACH,MAFD;AAGH;;AAGD;;;;;AAKO,UAAS8D,aAAT,CAAuBmC,IAAvB,EAA6B;AAChC,SAAIlF,QAAQ,CAAZ;AACA4C,UAAKsC,KAAKC,UAAL,CAAgBC,QAArB,EAA+B,UAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACxD,aAAIJ,SAASG,OAAb,EAAsB;AAClBrF,qBAAQsF,QAAR;AACH;AACJ,MAJD;AAKA,YAAOtF,KAAP;AACH;;AAGD;;;;;;AAMO,UAASgD,OAAT,CAAiBkC,IAAjB,EAAuBrI,QAAvB,EAAiC;AACpC,SAAI0I,SAAS,IAAb;;AAEA,YAAML,IAAN,EAAY;AACR,aAAIA,KAAKvI,OAAL,CAAaE,QAAb,CAAJ,EAA4B;AACxB0I,sBAASL,IAAT;AACA;AACH;;AAEDA,gBAAOA,KAAKM,aAAZ;AACH;;AAED,YAAOD,MAAP;AACH;;AAGD;;;;;AAKO,UAAStC,UAAT,CAAoBoC,OAApB,EAA6B;AAChC,SAAI;AACA,gBAAOA,mBAAmBJ,WAA1B;AACH,MAFD,CAGA,OAAMJ,CAAN,EAAQ;AACJ,gBAAQ,QAAOQ,OAAP,yCAAOA,OAAP,OAAmB,QAApB,IACFA,QAAQI,QAAR,KAAqB,CADnB,IAC0B,QAAOJ,QAAQK,KAAf,MAAyB,QADnD,IAEF,QAAOL,QAAQM,aAAf,MAAiC,QAFtC;AAGH;AACJ;;AAGD;;;;;;AAMO,UAASzC,YAAT,CAAsBmC,OAAtB,EAA+BO,QAA/B,EAAyC;AAC5C,YAAO/G,OAAOgH,gBAAP,CAAwBR,OAAxB,EAAiC,IAAjC,EAAuCS,gBAAvC,CAAwDF,QAAxD,CAAP;AACH;;AAGD;;;;;AAKO,UAASzC,WAAT,CAAqB+B,IAArB,EAA2B;AAC9B,YAAOA,KAAKa,eAAL,IAAwB,EAA/B;AACH;;AAGD;;;;;;AAMO,UAAS3C,UAAT,CAAoB8B,IAApB,EAA6C;AAAA,SAAnBc,WAAmB,uEAAP,KAAO;;AAChD,SAAIpG,SAAS,IAAb;;AAEAgD,UAAKO,YAAY+B,IAAZ,CAAL,EAAwB,gBAAQ;AAC5B,aAAI3F,KAAK0G,WAAL,CAAiBlK,IAAjB,KAA0BiK,WAA9B,EAA2C;AACvCpG,sBAASL,IAAT;AACA,oBAAO,KAAP;AACH;AACJ,MALD;;AAOA,YAAOK,MAAP;AACH;;AAGD;;;;;;AAMO,UAASyD,UAAT,CAAoB6B,IAApB,EAA0BrF,QAA1B,EAAoC;AACvC,SAAI0F,SAAS,KAAb;;AAEA3C,UAAKO,YAAY+B,IAAZ,CAAL,EAAwB,gBAAQ;AAC5B,aAAI3F,SAASM,QAAb,EAAuB;AACnB0F,sBAAS,IAAT;AACA,oBAAO,KAAP;AACH;AACJ,MALD;;AAOA,YAAOA,MAAP;AACH;;AAGD;;;;AAIO,UAASjC,aAAT,CAAuB4B,IAAvB,EAA6B;AAChCtC,UAAKsC,KAAKa,eAAV,EAA2B,kBAAU;AACjCxC,uBAAc3D,MAAd;AACH,MAFD;AAGAsF,UAAKa,eAAL,GAAuB,EAAvB;AACAb,UAAKgB,SAAL,CAAepG,MAAf,CAAsB,SAAtB;AACH;;AAGD;;;;AAIO,UAASyD,aAAT,CAAuB3D,MAAvB,EAA+B;AAClC,SAAIA,OAAOuG,UAAX,EAAuB;AACnBvG,gBAAOuG,UAAP;AACH;AACDvG,cAAS,IAAT;AACH;;AAGD;;;;;AAKO,UAAS4D,YAAT,CAAsB0B,IAAtB,EAA4B;AAC/B,SAAIkB,UAAU,EAAd;;AAEAA,eAAUA,QAAQC,MAAR,CAAelD,YAAY+B,IAAZ,CAAf,CAAV;AACAtC,UAAKsC,KAAKoB,gBAAL,CAAsB,SAAtB,CAAL,EAAuC,gBAAQ;AAC3CF,mBAAUA,QAAQC,MAAR,CAAelD,YAAY5D,IAAZ,CAAf,CAAV;AACH,MAFD;;AAIA,YAAO6G,OAAP;AACH;;AAGD;;;;;AAKO,UAAS3C,aAAT,CAAuByB,IAAvB,EAA6BrF,QAA7B,EAAuC;AAC1C,SAAI,CAACqF,KAAKa,eAAV,EAA2B;AACvBb,cAAKgB,SAAL,CAAelH,GAAf,CAAmB,QAAnB;AACAkG,cAAKa,eAAL,GAAuB,EAAvB;AACH;;AAEDb,UAAKa,eAAL,CAAqB7G,IAArB,CAA0BW,QAA1B;AACA,YAAOA,QAAP;AACH;;AAED;;;;AAIO,UAAS6D,MAAT,GAA0B;AAAA,SAAV9F,MAAU,uEAAH,CAAG;;AAC7B,YAAO2I,KAAKC,MAAL,GAAcnK,QAAd,CAAuB,EAAvB,EAA2BoK,MAA3B,CAAkC,CAAlC,EAAqC7I,MAArC,CAAP;AACH;;AAGD;;;;;AAKO,UAAS+F,aAAT,CAAuB+C,KAAvB,EAA8B;AACjC,SAAIC,QAAQ,CAAC,MAAD,EAAS,IAAT,EAAe,IAAf,EAAqB,IAArB,EAA2B,IAA3B,CAAZ;AACA,SAAID,SAAS,CAAb,EAAgB,OAAO,QAAP;AAChB,SAAIxG,IAAI0G,SAASL,KAAKM,KAAL,CAAWN,KAAKO,GAAL,CAASJ,KAAT,IAAkBH,KAAKO,GAAL,CAAS,IAAT,CAA7B,CAAT,CAAR;AACA,YAAOP,KAAKQ,KAAL,CAAWL,QAAQH,KAAKS,GAAL,CAAS,IAAT,EAAe9G,CAAf,CAAnB,EAAsC,CAAtC,IAA2C,GAA3C,GAAiDyG,MAAMzG,CAAN,CAAxD;AACH;;AAGD;;;;;;AAMO,UAAS0D,YAAT,CAAsBqD,WAAtB,EAA2D;AAAA,SAAxBC,YAAwB,uEAAX,SAAW;;AAC9D,SAAI,CAACC,MAAMF,WAAN,CAAL,EAAyB;AACrBA,uBAAcA,cAAc,IAA5B;AACH;AACD,SAAIG,OAAO,IAAIC,IAAJ,CAASJ,WAAT,CAAX;AACA,YAAOG,KAAKE,kBAAL,CAAwB9L,iBAAO+L,IAAP,CAAYlL,QAAZ,EAAxB,EAAgDb,iBAAOgM,oBAAP,CAA4BN,YAA5B,CAAhD,EAA2FrJ,OAA3F,CAAmG,2BAAnG,EAAgI,EAAhI,CAAP;AACH;;AAGD;;;;;;AAMO,UAASgG,YAAT,CAAsBoD,WAAtB,EAA2D;AAAA,SAAxBC,YAAwB,uEAAX,SAAW;;AAC9D,SAAI,CAACC,MAAMF,WAAN,CAAL,EAAyB;AACrBA,uBAAcA,cAAc,IAA5B;AACH;AACD,YAAO,IAAII,IAAJ,CAASJ,WAAT,EAAsBQ,kBAAtB,CAAyCjM,iBAAO+L,IAAP,CAAYlL,QAAZ,EAAzC,EAAiEb,iBAAOkM,oBAAP,CAA4BR,YAA5B,CAAjE,EAA4GrJ,OAA5G,CAAoH,2BAApH,EAAiJ,EAAjJ,CAAP;AACH;;AAED;;;;;;AAMO,UAASiG,aAAT,CAAuB6D,MAAvB,EAAuD;AAAA,SAAxBT,YAAwB,uEAAX,SAAW;;AAC1D,YAAO,IAAIU,KAAKC,YAAT,CAAsBrM,iBAAO+L,IAAP,CAAYlL,QAAZ,EAAtB,EAA8Cb,iBAAOsM,qBAAP,CAA6BZ,YAA7B,CAA9C,EAA0Fa,MAA1F,CAAiGJ,MAAjG,CAAP;AACH;;AAGD;;;;;;AAMO,UAAS5D,cAAT,CAAwBiE,OAAxB,EAA2C;AAAA,SAAVC,MAAU,uEAAH,CAAG;;AAC9C,SAAIC,eAAe,SAAfA,YAAe,CAAClK,MAAD,EAASmK,GAAT,EAAcvK,MAAd,EAAyB;AACxC,gBAAO,CAAC,IAAI4B,KAAJ,CAAU5B,SAAS,CAAnB,EAAsBwK,IAAtB,CAA2BD,GAA3B,IAAkCnK,MAAnC,EAA2CG,KAA3C,CAAiD,CAACP,MAAlD,CAAP;AACH,MAFD;;AAIA,SAAIyK,OAAO9B,KAAKM,KAAL,CAAWmB,UAAU,IAArB,CAAX;AACA,SAAIM,UAAU/B,KAAKM,KAAL,CAAW,CAACmB,UAAWK,OAAO,IAAnB,IAA0B,EAArC,CAAd;AACAL,eAAUA,UAAWK,OAAO,IAAlB,GAA2BC,UAAU,EAA/C;AACA,SAAI/C,SAAS,EAAb;;AAEA,SAAI8C,QAAQJ,SAAS,CAArB,EAAwB;AACpB1C,gBAAOrG,IAAP,CAAagJ,aAAaG,IAAb,EAAmB,GAAnB,EAAuB,CAAvB,CAAb;AACH;;AAED,SAAIC,WAAWL,SAAS,CAAxB,EAA2B;AACvB1C,gBAAOrG,IAAP,CAAagJ,aAAaI,OAAb,EAAsB,GAAtB,EAA0B,CAA1B,CAAb;AACH;;AAED,SAAI,CAACnB,MAAMa,OAAN,CAAL,EAAqB;AACjBzC,gBAAOrG,IAAP,CAAagJ,aAAaF,OAAb,EAAsB,GAAtB,EAA0B,CAA1B,CAAb;AACH;;AAED,YAAOzC,OAAO6C,IAAP,CAAY,GAAZ,CAAP;AACH;;AAED;;;;;AAKQ,UAASpE,WAAT,CAAqB2D,MAArB,EAAuC;AAAA,SAAVY,KAAU,uEAAJ,EAAI;;AAC3C,SAAIC,QAAQ,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,CAAZ;AACAb,cAASpB,KAAKkC,GAAL,CAASd,MAAT,CAAT;AACA,YAAOY,MAAQZ,SAAO,GAAP,GAAW,CAAX,IAAgBA,SAAO,GAAP,GAAW,EAA5B,GAAiC,CAAjC,GAAqCa,MAAOb,SAAO,EAAP,GAAU,CAAX,GAAcA,SAAO,EAArB,GAAwB,CAA9B,CAA5C,CAAP;AACH;;AAGD;;;;AAIO,UAAS1D,eAAT,CAAyByE,MAAzB,EAAiC;AACpCA,cAASA,UAAUjL,QAAnB;;AAEAmF,UAAKpH,iBAAO4K,OAAZ,EAAqB,kBAAU;AAC3B,aAAIxG,MAAJ,EAAY;AACRA,oBAAOW,KAAP,CAAa,EAAb,EAAiB,CAACmI,MAAD,CAAjB;AACH;AACJ,MAJD;AAKH;;AAGD;;;;AAIO,UAASxE,MAAT,CAAgBmB,OAAhB,EAAyB;AAC5BzC,UAAKyC,QAAQsD,UAAb,EAAyB,iBAAS;AAC9BtD,iBAAQF,UAAR,CAAmByD,YAAnB,CAAgCC,KAAhC,EAAuCxD,OAAvC;AACH,MAFD;AAGAA,aAAQF,UAAR,CAAmB2D,WAAnB,CAA+BzD,OAA/B;AACH;;AAGD;;;;;AAKO,UAASlB,MAAT,CAAgB4E,IAAhB,EAAsB;AACzB,SAAIC,WAAW,mFAAf;AACA,YAAOD,KAAKlL,OAAL,CAAamL,QAAb,EAAuB,UAAS3E,GAAT,EAAa4E,CAAb,EAAeC,CAAf,EAAkB;AAC5C,aAAIC,OAAQD,KAAK,KAAN,GAAgB,YAAW7E,GAA3B,GAAiCA,GAA5C;AACA,gBAAO,cAAa8E,IAAb,GAAmB,oBAAnB,GAA0C9E,GAA1C,GAAgD,MAAvD;AACH,MAHM,CAAP;AAIH;;AAGD;;;;AAIO,UAASD,YAAT,CAAsBgF,WAAtB,EAA+C;AAAA,SAAZC,OAAY,uEAAJ,EAAI;;AAClDzG,UAAKwG,YAAYhE,QAAjB,EAA2B,gBAAQ;AAC/BhB,sBAAa7E,IAAb,EAAmB8J,OAAnB;;AAEA,aAAIA,QAAQnL,OAAR,CAAgBqB,KAAK+J,OAArB,IAAgC,CAApC,EAAuC;AACnCpF,oBAAO3E,IAAP;AACH,UAFD,MAEO;AACHqD,kBAAKrD,KAAKgK,UAAV,EAAsB,gBAAQ;AAC1BhK,sBAAKiK,mBAAL,CAAyBC,IAAzB;AACH,cAFD;AAGH;AACJ,MAVD;AAWH,E;;;;;;;;;;;mBCpbuB/E,G;AAAT,UAASA,GAAT,CAAagF,MAAb,EAAqBrF,GAArB,EAA0BC,IAA1B,EAAgCqF,QAAhC,EAA0CpF,KAA1C,EAAiD;AAC5D,SAAIG,MAAM,IAAIkF,cAAJ,EAAV;AACA,SAAI7K,OAAOsF,GAAX;AACA,SAAIwF,WAAW,IAAf;;AAEAH,cAASA,OAAOI,WAAP,EAAT;;AAEA,SAAIxF,gBAAgB9H,QAApB,EAA8B;AAC1BqN,oBAAWvF,IAAX;AACH,MAFD,MAEO,IAAGA,IAAH,EAAS;AACZuF,oBAAW,IAAIrN,QAAJ,EAAX;;AAEAR,gBAAOsD,IAAP,CAAYgF,IAAZ,EAAkBvE,OAAlB,CAA0B,UAAU4B,GAAV,EAAe;AACrCkI,sBAASE,MAAT,CAAgBpI,GAAhB,EAAqB2C,KAAK3C,GAAL,CAArB;AACH,UAFD;AAGH;;AAED,SAAI+H,UAAU,KAAV,IAAmBG,QAAvB,EAAiC;AAC7B,aAAInK,SAAS,EAAb;AACAmK,kBAAS9J,OAAT,CAAiB,UAASxD,KAAT,EAAgBoF,GAAhB,EAAoB;AACjCjC,oBAAOR,IAAP,CAAYyC,MAAM,GAAN,GAAYqI,mBAAmBzN,KAAnB,CAAxB;AACH,UAFD;;AAIAsN,oBAAW,IAAX;;AAEA,aAAInK,OAAO9B,MAAX,EAAmB;AACfmB,qBAAQ,MAAMW,OAAO0I,IAAP,CAAY,GAAZ,CAAd;AACH;AACJ;;AAED1D,SAAIuF,IAAJ,CAASP,MAAT,EAAiB3K,IAAjB,EAAuB,IAAvB;AACA2F,SAAIwF,IAAJ,CAASL,QAAT;;AAEAnF,SAAIyF,kBAAJ,GAAyB,YAAY;AACjC,aAAIzF,IAAI0F,UAAJ,IAAkB,CAAtB,EAAyB;;AAEzB,aAAI1F,IAAI2F,MAAJ,IAAc,GAAlB,EAAuB;AACnB,iBAAIV,QAAJ,EAAc;AACVA,0BAASjF,IAAI4F,YAAb,EAA2B5F,GAA3B;AACH;AACJ,UAJD,MAIO;AACH,iBAAIH,KAAJ,EAAW;AACPA,uBAAMG,IAAI4F,YAAV,EAAwB5F,GAAxB;AACH;AACJ;AACJ,MAZD;;AAcA,YAAOA,GAAP;AACH,E;;;;;;;;;;;SCyCe6F,a,GAAAA,a;SAcAC,U,GAAAA,U;AAvGhB,KAAIhP,SAAS;AACb;AACI+L,WAAM,OAFG;;AAIT;AACAC,2BAAsB;;AAElB;AACA,oBAAW;AACPiD,kBAAK,SADE;AAEPC,oBAAO,MAFA;AAGPC,mBAAM,SAHC;AAIPC,uBAAU;AAJH,UAHO;;AAUlB;AACA,oBAAW;AACPH,kBAAK,SADE;AAEPC,oBAAO,SAFA;AAGPC,mBAAM,SAHC;AAIPC,uBAAU;AAJH,UAXO;;AAkBlB;AACA,iBAAQ;AACJD,mBAAM,SADF;AAEJC,uBAAU;AAFN,UAnBU;;AAwBlB;AACA,kBAAS;AACLF,oBAAO,MADF;AAELE,uBAAU;AAFL,UAzBS;;AA8BlB;AACA,gBAAO;AACHH,kBAAK,SADF;AAEHG,uBAAU;AAFP;AA/BW,MALb;;AA0CTlD,2BAAsB;;AAElB;AACA,oBAAW;AACPW,mBAAM,SADC;AAEPwC,qBAAQ,SAFD;AAGPD,uBAAU;AAHH,UAHO;;AASlB;AACA,iBAAQ;AACJvC,mBAAM,SADF;AAEJuC,uBAAU;AAFN,UAVU;;AAelB;AACA,mBAAU;AACNC,qBAAQ,SADF;AAEND,uBAAU;AAFJ;AAhBQ,MA1Cb;;AAgET9C,4BAAuB;;AAEnB;AACA,oBAAW;AACPpC,oBAAO,UADA;AAEPoF,uBAAU;AAFH;;AAHQ,MAhEd;;AA0ET1E,cAAS;AA1EA,EAAb;;AA8EA;;;mBAGe5K,M;;AAGf;;;;;;AAKO,UAAS+O,aAAT,CAAuBQ,WAAvB,EAAoC5N,OAApC,EAA6C;AAChD,SAAI;AACA3B,gBAAOuP,WAAP,IAAsB/O,OAAOgP,MAAP,CAAcxP,OAAOuP,WAAP,CAAd,EAAmC5N,OAAnC,CAAtB;AACH,MAFD,CAEE,OAAOoH,KAAP,EAAc;AACZ/I,gBAAOuP,WAAP,IAAsB5N,OAAtB;AACH;AACJ;;AAGD;;;;;AAKO,UAASqN,UAAT,CAAoBO,WAApB,EAAiC;AACpC,YAAOvP,OAAOuP,WAAP,CAAP;AACH,E;;;;;;;;ACzGD,KAAI,CAAC,GAAGE,QAAR,EAAkB;AACdzL,WAAMrD,SAAN,CAAgB8O,QAAhB,GAA2B,UAAUC,aAAV,CAAuB,eAAvB,EAAwC;AAC/D;;AACA,aAAIC,IAAInP,OAAO,IAAP,CAAR;AACA,aAAIoP,MAAMxE,SAASuE,EAAEvN,MAAX,KAAsB,CAAhC;AACA,aAAIwN,QAAQ,CAAZ,EAAe;AACX,oBAAO,KAAP;AACH;AACD,aAAIC,IAAIzE,SAAS9F,UAAU,CAAV,CAAT,KAA0B,CAAlC;AACA,aAAIwK,CAAJ;AACA,aAAID,KAAK,CAAT,EAAY;AACRC,iBAAID,CAAJ;AACH,UAFD,MAEO;AACHC,iBAAIF,MAAMC,CAAV;AACA,iBAAIC,IAAI,CAAR,EAAW;AACPA,qBAAI,CAAJ;AACH;AACJ;AACD,gBAAOA,IAAIF,GAAX,EAAgB;AACZ,iBAAIG,iBAAiBJ,EAAEG,CAAF,CAArB;AACA,iBAAIJ,kBAAkBK,cAAlB,IACCL,kBAAkBA,aAAlB,IAAmCK,mBAAmBA,cAD3D,EAEE;AACE,wBAAO,IAAP;AACH;AACDD;AACH;AACD,gBAAO,KAAP;AACH,MA3BD;AA4BH;;AAGD,KAAI,CAACE,OAAOrP,SAAP,CAAiB8O,QAAtB,EAAgC;AAC5BO,YAAOrP,SAAP,CAAiB8O,QAAjB,GAA4B,YAAY;AACpC;;AACA,gBAAOO,OAAOrP,SAAP,CAAiB+B,OAAjB,CAAyBqC,KAAzB,CAA+B,IAA/B,EAAqCO,SAArC,MAAoD,CAAC,CAA5D;AACH,MAHD;AAIH;;AAED,KAAI2K,KAAKhO,QAAL,IAAiB,EAAE,wBAAwBA,SAASiO,eAAT,CAAyB,8BAAzB,EAAyD,GAAzD,CAA1B,CAArB,EAA+G;;AAE3GzG,iBAAY9I,SAAZ,CAAsBwP,kBAAtB,GAA2C,UAAUrG,QAAV,EAAoBsG,IAApB,EAA0B;AACjE;;AAEA,aACIC,MAAM,IADV;AAAA,aAEMC,YAAYD,IAAIlG,aAAJ,CAAkB+F,eAAlB,CAAkC,8BAAlC,EAAkE,GAAlE,CAFlB;AAAA,aAGMK,aAAaF,IAAI1G,UAHvB;AAAA,aAIMD,IAJN;AAAA,aAIY8G,WAJZ;AAAA,aAIyBC,YAJzB;;AAOAH,mBAAUI,SAAV,GAAsBN,IAAtB;;AAEA,iBAAQtG,SAAS6G,WAAT,EAAR;AACI,kBAAK,aAAL;AACI,wBAAQjH,OAAO4G,UAAUM,UAAzB,EAAsC;AAClCL,gCAAWnD,YAAX,CAAwB1D,IAAxB,EAA8B2G,GAA9B;AACH;AACD;AACJ,kBAAK,YAAL;AACIG,+BAAcH,IAAIO,UAAlB;AACA,wBAAQlH,OAAO4G,UAAUO,SAAzB,EAAqC;AACjCL,mCAAcH,IAAIjD,YAAJ,CAAiB1D,IAAjB,EAAuB8G,WAAvB,CAAd;AACH;AACD;AACJ,kBAAK,WAAL;AACI,wBAAQ9G,OAAO4G,UAAUM,UAAzB,EAAsC;AAClCP,yBAAIS,WAAJ,CAAgBpH,IAAhB;AACH;AACD;AACJ,kBAAK,UAAL;AACI+G,gCAAeJ,IAAIU,WAAnB;AACA,wBAAQrH,OAAO4G,UAAUO,SAAzB,EAAqC;AACjCJ,oCAAeF,WAAWnD,YAAX,CAAwB1D,IAAxB,EAA8B+G,YAA9B,CAAf;AACH;AACD;AAtBR;AAwBH,MApCD;AAsCH;;AAED,KAAIR,KAAKhO,QAAL,IAAiB,EAAE,2BAA2BA,SAASiO,eAAT,CAAyB,8BAAzB,EAAyD,GAAzD,CAA7B,CAArB,EAAkH;;AAE9GzG,iBAAY9I,SAAZ,CAAsBqQ,qBAAtB,GAA8C,UAAUlH,QAAV,EAAoBmH,IAApB,EAA0B;AACpE;;AAEA,aAAIC,QAAQ,IAAZ;AAAA,aACIhE,SAASgE,MAAMvH,UADnB;AAAA,aAEID,aAFJ;AAAA,aAEUyH,cAFV;AAAA,aAEiBC,aAFjB;;AAIA,iBAAQtH,SAAS6G,WAAT,EAAR;AACI,kBAAK,aAAL;AACI,wBAAQjH,OAAOuH,KAAKL,UAApB,EAAiC;AAC7B1D,4BAAOE,YAAP,CAAoB1D,IAApB,EAA0BwH,KAA1B;AACH;AACD;AACJ,kBAAK,YAAL;AACIC,yBAAQD,MAAMN,UAAd;AACA,wBAAQlH,OAAOuH,KAAKJ,SAApB,EAAgC;AAC5BM,6BAAQD,MAAM9D,YAAN,CAAmB1D,IAAnB,EAAyByH,KAAzB,CAAR;AACH;AACD;AACJ,kBAAK,WAAL;AACI,wBAAQzH,OAAOuH,KAAKL,UAApB,EAAiC;AAC7BM,2BAAMJ,WAAN,CAAkBpH,IAAlB;AACH;AACD;AACJ,kBAAK,UAAL;AACIwD,wBAAOE,YAAP,CAAoB6D,IAApB,EAA0BC,MAAMH,WAAhC;AACA;AAnBR;AAqBA,gBAAOE,IAAP;AAEH,MA9BD;AA+BH,E;;;;;;;;AClHD;;AAEA,mCAAe;AACXI,kBAAa;AACTC,eAAM,cAAUvQ,KAAV,EAAiBwQ,KAAjB,EAAwB;AAC1B,iBAAIxQ,KAAJ,EAAW;AACP,wBAAO,KAAP;AACH;AACJ,UALQ;AAMTyQ,kBAAS;AANA,MADF;AASXC,oBAAe;AACXH,eAAM,cAAUvQ,KAAV,EAAiBwQ,KAAjB,EAAwB;AAC1B,iBAAIxQ,KAAJ,EAAW;AACP,wBAAO,CAAC4K,MAAM5K,KAAN,CAAR;AACH,cAFD,MAEO;AACH,wBAAO,IAAP;AACH;AACJ,UAPU;AAQXyQ,kBAAS;AARE;AATJ,EAAf,E;;;;;;;;;;;SCsFgBE,a,GAAAA,a;SAkBAC,c,GAAAA,c;SAeAC,a,GAAAA,a;SAUAC,iB,GAAAA,iB;SAUAC,iB,GAAAA,iB;;AA7IhB;;AAGA,KAAIC,aAAa,EAAjB;AACA,KAAIC,WAAW,EAAf;;AAGA;;;AAGAL,gBAAe;AACX;;;AAGAM,YAAO;AACHX,eAAM,cAASvQ,KAAT,EAAgB;AAClB,oBAAOA,MAAMmR,IAAN,GAAa9P,MAApB;AACH,UAHE;AAIHoP,kBAAS;AAJN,MAJI;;AAYX;;;AAGAW,cAAS;AACLb,eAAM,WADD;AAELE,kBAAS;AAFJ,MAfE;;AAqBX;;;AAGAY,YAAO;AACHd,eAAM,2JADH;AAEHE,kBAAS;AAFN,MAxBI;;AA8BX;;;AAGAa,YAAO;AACHf,eAAM,6CADH;AAEHE,kBAAS;AAFN,MAjCI;;AAuCX;;;AAGAc,mBAAc;AACVhB,eAAM,cAASvQ,KAAT,EAAgB;AAClB,iBAAIA,KAAJ,EAAW;AACP,qBAAI,qCAAqCuQ,IAArC,CAA0CvQ,KAA1C,CAAJ,EAAsD;AAClD,yBAAIwR,IAAIxR,MAAMuB,KAAN,CAAY,GAAZ,EAAiBkQ,OAAjB,GAA2B5F,IAA3B,CAAgC,GAAhC,CAAR;;AAEA,yBAAIjB,MAAM,IAAIE,IAAJ,CAAS0G,CAAT,EAAYE,QAAZ,EAAN,CAAJ,EAAmC;AAC/B,gCAAO,KAAP;AACH;AACD,4BAAO,IAAP;AACH;AACD,wBAAO,KAAP;AACH;AACD,oBAAO,IAAP;AACH,UAdS;AAeVjB,kBAAS;AAfC,MA1CH;;AA4DX;;;AAGAkB,cAAS;AACLpB,eAAM,cAAUvQ,KAAV,EAAiB4R,KAAjB,EAAwB;AAC1B,oBAAOA,MAAMD,OAAb;AACH,UAHI;AAILlB,kBAAS;AAJJ;AA/DE,EAAf;;AAyEA;;;;;AAKO,UAASE,aAAT,CAAuBkB,cAAvB,EAAuCC,SAAvC,EAAkD;AACrD,SAAIA,qBAAqB/N,MAAzB,EAAiC;AAC7BiN,oBAAWa,cAAX,IAA6B,UAAU7R,KAAV,EAAiB;AAC1C,iBAAIA,MAAMqB,MAAV,EAAkB;AACd,wBAAOyQ,UAAUvB,IAAV,CAAevQ,KAAf,CAAP;AACH;AACD,oBAAO,IAAP;AACH,UALD;AAMH,MAPD,MAOO,IAAI8R,qBAAqBnS,QAAzB,EAAmC;AACtCqR,oBAAWa,cAAX,IAA6BC,SAA7B;AACH;AACJ;;AAGD;;;;AAIO,UAASlB,cAAT,GAA2C;AAAA,SAAnBA,cAAmB,uEAAJ,EAAI;;AAC9C,wBAAKnR,OAAOsD,IAAP,CAAY6N,cAAZ,CAAL,EAAkC,eAAO;AACrC,aAAI5N,OAAO4N,eAAexL,GAAf,CAAX;;AAEAuL,uBAAcvL,GAAd,EAAmBpC,KAAKuN,IAAxB;AACAQ,2BAAkB3L,GAAlB,EAAuBpC,KAAKyN,OAA5B;AACH,MALD;AAMH;;AAGD;;;;;AAKO,UAASI,aAAT,CAAuBgB,cAAvB,EAAuC;AAC1C,YAAOb,WAAWa,cAAX,CAAP;AACH;;AAGD;;;;;AAKO,UAASf,iBAAT,CAA2BgB,SAA3B,EAAsC;AACzC,YAAOb,SAASa,SAAT,CAAP;AACH;;AAGD;;;;;AAKO,UAASf,iBAAT,CAA2Be,SAA3B,EAAsCrB,OAAtC,EAA+C;AAClDQ,cAASa,SAAT,IAAsBrB,WAAW,EAAjC;AACH,E;;;;;;;;;;;;AC/ID;;;;AACA;;;;AACA;;;;AACA;;;;;;;;;;KAGMsB,I;;;;;6BAEiB;AACf,oBAAO,QAAP;AACH;;;AAGD,qBAAc;AAAA;;AAAA;;AAEV,2GAAU,MAAV,EAAkB,KAAlB;AACA,mHAAkBC,eAAlB;AAHU;AAIb;;;;gCAGM;AACH,kBAAKC,GAAL,GAAW;AACPC,uBAAMhR,SAASiR,aAAT,CAAuB,MAAvB,CADC;AAEPnK,wBAAO9G,SAASiR,aAAT,CAAuB,gBAAvB,CAFA;AAGPC,yBAAQlR,SAASiR,aAAT,CAAuB,iBAAvB,CAHD;AAIPE,yBAAQnR,SAASiR,aAAT,CAAuB,iBAAvB;AAJD,cAAX;;AAOA,kBAAKG,YAAL,GAAoB,CAApB;;AAEA,kBAAKC,KAAL;AACH;;;iCAGO;AAAA;;AACJ;;;AAGA,kBAAKN,GAAL,CAASC,IAAT,CAAcvN,gBAAd,CAA+B,OAA/B,EAAwC,iBAAS;AAC7C,wBAAKsN,GAAL,CAASjK,KAAT,CAAe2B,SAAf,CAAyBpG,MAAzB,CAAgC,QAAhC;AACA,wBAAK0O,GAAL,CAASjK,KAAT,CAAe2H,SAAf,GAA2B,EAA3B;AACH,cAHD;;AAMA;;;AAGA,kBAAKsC,GAAL,CAASC,IAAT,CAAcvN,gBAAd,CAA+B,QAA/B,EAAyC,iBAAS;AAC9Ce,uBAAMO,cAAN;;AAGA;;;;AAIA,wBAAKqM,YAAL,GAAoBE,WAAW,YAAY;AACvC,0BAAKP,GAAL,CAASI,MAAT,CAAgB1I,SAAhB,CAA0BlH,GAA1B,CAA8B,QAA9B;AACA,0BAAKwP,GAAL,CAASG,MAAT,CAAgBzI,SAAhB,CAA0BpG,MAA1B,CAAiC,QAAjC;AACH,kBAH8B,CAG7BzB,IAH6B,CAGxB,MAHwB,CAAX,EAGN,GAHM,CAApB;;AAKA,oCAAK,gBAAL,EAAuB,EAAvB,EAA2B,oBAAY;AACnC,4BAAK2Q,YAAL,CAAkBC,QAAlB;AACH,kBAFD;AAGH,cAhBD;AAiBH;;AAGD;;;;;;;wCAIe;AAAA;;AACX,gCAAK,SAAL,EAAgB,IAAIzS,QAAJ,CAAa,KAAKgS,GAAL,CAASC,IAAtB,CAAhB,EAA6C,oBAAY;AACrDQ,4BAAW,yBAAWA,QAAX,CAAX;;AAEAC,8BAAa,OAAKL,YAAlB;AACA,wBAAKL,GAAL,CAASI,MAAT,CAAgB1I,SAAhB,CAA0BpG,MAA1B,CAAiC,QAAjC;AACA,wBAAK0O,GAAL,CAASG,MAAT,CAAgBzI,SAAhB,CAA0BlH,GAA1B,CAA8B,QAA9B;;AAEA,qBAAIiQ,SAASE,OAAb,EAAsB;AAClB,4BAAKC,SAAL;AACH,kBAFD,MAEO;AACH,4BAAKZ,GAAL,CAASjK,KAAT,CAAe2B,SAAf,CAAyBpG,MAAzB,CAAgC,QAAhC;AACA,4BAAK0O,GAAL,CAASjK,KAAT,CAAe2H,SAAf,GAA2B+C,SAASI,OAApC;AACH;AACJ,cAbD;AAcH;;;qCAGW;AAAA;;AACR,gCAAK,mBAAL,EAA0B,EAA1B,EAA8B,oBAAY;AACtCJ,4BAAW,yBAAWA,QAAX,CAAX;;AAEA,qBAAIA,SAASE,OAAb,EAAsB;AAClB,yBAAI5T,iBAAOuG,OAAP,CAAe,MAAf,CAAJ,EAA4B;AACxB,gCAAKwN,OAAL,CAAa,MAAb;AACH;AACJ,kBAJD,MAIO,IAAIL,SAASM,OAAT,IAAoB,GAAxB,EAA6B;AAChC,4BAAKf,GAAL,CAASjK,KAAT,CAAe2B,SAAf,CAAyBpG,MAAzB,CAAgC,QAAhC;AACA,4BAAK0O,GAAL,CAASjK,KAAT,CAAe2H,SAAf,GAA2B,4CAA3B;AACH;AACJ,cAXD;AAYH;;;;GAhGcsD,c;;AAoGnBjU,kBAAO4D,QAAP,CAAgBmP,IAAhB,E;;;;;;;;AC1GA,KAAImB,WAAW,mBAAA9T,CAAQ,EAAR,CAAf;AACA,KAAI+T,GAAJ;AACA,KAAI,CAACD,SAASE,UAAd,EAAyB;AACxBD,SAAMD,SAASE,UAAT,GAAsB,IAAIF,SAASG,WAAb,CAAyB,EAAzB,EAA6B,EAAEC,YAAY,IAAd,EAA7B,CAA5B;AACA,EAFD,MAEO;AACNH,SAAMD,SAASE,UAAf;AACA;AACD,KAAIG,YAAY,mBAAAnU,CAAQ,EAAR,EAA8C+T,GAA9C,CAAhB;AACA,KAAIK,eAAeN,SAASO,mBAAT,KAAiCP,SAASO,mBAAT,GAA+B,EAAhE,CAAnB;AACAD,cAAa,qCAAb,IAAsD,mBAAApU,CAAS,EAAT,CAAtD;AACAoU,cAAa,qCAAb,IAAsD,mBAAApU,CAAS,EAAT,CAAtD;;AAKA,KAAIsU,OAAO,mBAAAtU,CAAQ,EAAR,CAAX;;AAGA,EAAC,YAAW;AAAC,IAAC8T,SAASS,mBAAT,GAA+BT,SAASS,mBAAT,IAAgC,EAAhE,EAAoE,0DAApE,IAAmI,YAAW;AAC3J,cAASxU,IAAT,CAAcgU,GAAd,EAAmBS,OAAnB,EAA4BC,KAA5B,EAAmCC,OAAnC,EAA4CC,EAA5C,EAAgD;AAChD,WAAIC,SAAS,IAAb;AACA,WAAIC,QAAQ,IAAZ;AACA,WAAIC,SAAS,EAAb;AACA,WAAI;AACJ,aAAIC,iBAAiB,IAArB;AACAhB,aAAIiB,WAAJ,CAAgB,qCAAhB,EAAuD,IAAvD,EAA6D,0DAA7D,EAAyH,KAAzH,EAAgI,UAASC,GAAT,EAAaC,eAAb,EAA8B;AAC9J,eAAGD,GAAH,EAAQ;AAAEN,gBAAGM,GAAH,EAAS;AAAS;AAC5BF,4BAAiBG,eAAjB;AACA,gBAAI,IAAIC,GAAR,IAAeJ,eAAeK,MAA9B,EAAsC;AACtCZ,qBAAQa,QAAR,CAAiBF,GAAjB,EAAsBJ,eAAeK,MAAf,CAAsBD,GAAtB,CAAtB;AACC;AACDL,qBAAU,MAAV;AACA,YAACC,iBAAiB,UAAS7L,CAAT,EAAYqE,CAAZ,EAAepN,CAAf,EAAkBmV,CAAlB,EAAqBX,EAArB,EAAyB;AAAEA,gBAAG,EAAH;AAAS,YAArD,GAAwDH,QAAQe,QAAR,CAAiB,SAAjB,CAAzD,EAAsFxB,GAAtF,EAA2FS,OAA3F,EAAoGC,KAApG,EAA2GC,OAA3G,EAAoH,UAASc,GAAT,EAAaC,GAAb,EAAkB;AACtI,iBAAGD,GAAH,EAAQ;AAAEb,kBAAGa,GAAH,EAAS;AAAS;AAC5BV,uBAAUW,GAAV;AACA,iBAAGV,cAAH,EAAmB;AACnBA,8BAAeW,cAAf,CAA8B3B,GAA9B,EAAmCS,OAAnC,EAA4CC,KAA5C,EAAmDC,OAAnD,EAA4DC,EAA5D;AACC,cAFD,MAEO;AACPA,kBAAG,IAAH,EAASG,MAAT;AACC;AACA,YARD;AAQG,UAfH;AAgBC,QAlBD,CAkBE,OAAO5L,CAAP,EAAU;AACVyL,YAAGD,QAAQiB,WAAR,CAAoBzM,CAApB,EAAuB0L,MAAvB,EAA+BC,KAA/B,CAAH;AACD;AACA;AACD,cAASe,SAAT,CAAmB7B,GAAnB,EAAwBS,OAAxB,EAAiCC,KAAjC,EAAwCC,OAAxC,EAAiDC,EAAjD,EAAqD;AACrD,WAAIC,SAAS,IAAb;AACA,WAAIC,QAAQ,IAAZ;AACA,WAAIC,SAAS,EAAb;AACA,WAAI;AACJA,mBAAU,04CAAV;AACAf,aAAIiB,WAAJ,CAAgB,qCAAhB,EAAuD,KAAvD,EAA8D,0DAA9D,EAA0H,IAA1H,EAAgI,UAASa,GAAT,EAAaC,GAAb,EAAkB;AAClJ,eAAGD,GAAH,EAAQ;AAAElB,gBAAGkB,GAAH,EAAS;AAAS;AAC5BC,eAAIC,MAAJ,CAAWvB,QAAQwB,YAAR,EAAX,EAAmCvB,KAAnC,EAA0C,UAASwB,GAAT,EAAaC,GAAb,EAAkB;AAC5D,iBAAGD,GAAH,EAAQ;AAAEtB,kBAAGsB,GAAH,EAAS;AAAS;AAC5BnB,uBAAUoB,GAAV;AACApB,uBAAU,6WAAV;AACAH,gBAAG,IAAH,EAASG,MAAT;AACC,YALD;AAKG,UAPH;AAQC,QAVD,CAUE,OAAO5L,CAAP,EAAU;AACVyL,YAAGD,QAAQiB,WAAR,CAAoBzM,CAApB,EAAuB0L,MAAvB,EAA+BC,KAA/B,CAAH;AACD;AACA;AACD,YAAO;AACPe,kBAAWA,SADJ;AAEP7V,aAAMA;AAFC,MAAP;AAKC,IAlD8I,EAAlI;AAmDZ,EAnDD;;AAuDAqG,QAAOC,OAAP,GAAiBiO,KAAKR,QAAL,EAAeC,GAAf,EAAoBD,SAASS,mBAAT,CAA6B,0DAA7B,CAApB,EAA+GH,YAA/G,CAAjB,C;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAgB;AAChB,kBAAiB;AACjB,kBAAiB;AACjB,gBAAe;AACf,gBAAe;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oEAAmE,iBAAiB;AACpF,kBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,KAAK;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAmC,KAAK;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,yCAAwC;;AAExC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;AACN;AACA,OAAM;AACN;AACA,OAAM;AACN;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAsB,cAAc,EAAE;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB;AAClB;AACA,WAAU;AACV,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;;AAEd;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,sBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,oDAAmD;AACnD,oDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA,6CAA4C;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,WAAW;AACzC;AACA;AACA;AACA;;AAEA;AACA,OAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA,+BAA8B;AAC9B,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;;;AAIA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,kBAAkB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA6B,4BAA4B,aAAa,EAAE;;AAExE,QAAO;AACP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAwC,KAAK,EAAE;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA6C;;;AAG7C,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU;AACV;AACA,WAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAyB;AACzB;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,SAAQ;AACR,OAAM;;AAEN;AACA;AACA;AACA,SAAQ;AACR,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,UAAU,EAAE;AACzD;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA,sBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;;AAEA,wBAAuB,gBAAgB;AACvC;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA,0CAAyC,UAAU,EAAE;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C,WAAU;AACV;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA,mBAAkB;AAClB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;;AAEA;AACA;AACA,qCAAoC,yBAAyB;AAC7D;AACA,gDAA+C,EAAE;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,WAAU;;AAEV;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAc;AACd,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA8C;AAC9C,2DAA0D;AAC1D,oEAAmE;AACnE;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,gBAAgB;AACvC;;AAEA;AACA,mDAAkD;AAClD,+DAA8D;AAC9D,wEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA,eAAc;AACd,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA,WAAU;;AAEV;AACA,cAAa;;AAEb;AACA;AACA,WAAU;;AAEV;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,wBAAuB;AACvB,sDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;AACA,OAAM;;AAEN;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA,GAAE;;AAEF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA8B;AAC9B,uBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,uBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,uBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA,SAAQ;AACR;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;;AAEA;AACA;AACA;AACA,2BAA0B;AAC1B;;AAEA;AACA,2BAA0B;AAC1B;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD,E;;;;;;;;AC1oFA;;AAGAhO,QAAOC,OAAP,GAAiB,UAAS0N,GAAT,EAAc;AAC3BA,SAAIoC,SAAJ,CAAc,QAAd,EAAwB9V,OAAOgP,MAA/B;AACA0E,SAAIoC,SAAJ,CAAc,kBAAd,EAAkCC,gBAAlC;AACArC,SAAIoC,SAAJ,CAAc,QAAd,EAAwBpO,eAAxB;AACAgM,SAAIsC,SAAJ,CAAc,cAAd,EAA8BpO,qBAA9B;AACA8L,SAAIsC,SAAJ,CAAc,cAAd,EAA8BnO,qBAA9B;AACA6L,SAAIsC,SAAJ,CAAc,eAAd,EAA+BrO,sBAA/B;AACA+L,SAAIsC,SAAJ,CAAc,gBAAd,EAAgCjO,uBAAhC;AACA2L,SAAIsC,SAAJ,CAAc,eAAd,EA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","file":"main.js?hash=9a845d118be6b2c2d2ea","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3aed25414a5a95ebab7a","import 'es6-shim';\n\nimport './styles/main.scss'\n\nimport Router from 'blocko/router'\nimport {change_config} from 'blocko/config'\nimport 'blocko/polyfill'\n\nRouter.config({\n mode: 'history',\n root: ''\n});\n\nchange_config('widgets', [\n require('common.web/blocks/b-tab/b-tab'),\n require('common.web/blocks/b-form/b-form'),\n require('common.web/blocks/b-modal/b-modal'),\n require('common.web/blocks/b-dropdown/b-dropdown'),\n require('common.web/blocks/b-dropdown-filter/b-dropdown-filter'),\n require('common.web/blocks/b-search/b-search'),\n require('common.web/blocks/b-button-submit/b-button-submit'),\n require('common.web/blocks/b-table-sort/b-table-sort'),\n require('blocko/widgets/b-input/b-input'),\n require('blocko/widgets/b-paginate/b-paginate'),\n require('common.web/blocks/b-ajax-form/b-ajax-form'),\n require('./templates/b-confirm-modal/b-confirm-modal'),\n require('./templates/b-dropdown-calendar/b-dropdown-calendar'),\n require('./templates/b-phonogram-relay/b-phonogram-relay'),\n require('./templates/b-phonogram-add/b-phonogram-add'),\n require('./templates/b-report-data/b-report-data'),\n require('./templates/b-comparison-manual/b-comparison-manual'),\n require('./templates/b-distribution-data/b-distribution-data'),\n require('./templates/b-reward-reports-add/b-reward-reports-add'),\n require('./templates/b-inline-edit/b-inline-edit'),\n require('./templates/b-combo/b-combo'),\n require('./templates/b-music-libery-reports-list/b-music-libery-reports-list'),\n]);\n\nchange_config('lang', 'ru-RU');\n\nimport './validate'\nimport './controllers/auth'\nimport './controllers/error'\nimport './controllers/home'\nimport './controllers/control'\nimport './controllers/user'\nimport './controllers/report'\nimport './controllers/comparison'\nimport './controllers/ratings'\nimport './controllers/rating'\nimport './controllers/distributions'\nimport './controllers/reward_rating'\nimport './controllers/reward_distribution'\nimport './controllers/reward_reports'\nimport './controllers/reporting_distribution'\nimport './controllers/reporting_users'\nimport './controllers/reporting_recipient'\nimport './controllers/reporting_righolders'\nimport './controllers/reporting_retained_balance'\nimport './controllers/payment_files'\nimport './controllers/payment_file'\nimport './controllers/payments'\nimport './controllers/references'\nimport './controllers/payment_protocol'\nimport './controllers/contracts'\nimport './controllers/contragents'\nimport './controllers/rightholders_documents'\nimport './controllers/reporting_accruals'\nimport './controllers/fonmix_reports'\nimport './controllers/fonmix_reports_match'\nimport './controllers/reporting_fonmix_statistics'\n\nRouter.check().listen();\n\n\n\n// WEBPACK FOOTER //\n// ./source/main.js","/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.35.4\n * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\n\n// UMD (Universal Module Definition)\n// see https://github.com/umdjs/umd/blob/master/returnExports.js\n(function (root, factory) {\n /*global define, module, exports */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.returnExports = factory();\n }\n}(this, function () {\n 'use strict';\n\n var _apply = Function.call.bind(Function.apply);\n var _call = Function.call.bind(Function.call);\n var isArray = Array.isArray;\n var keys = Object.keys;\n\n var not = function notThunker(func) {\n return function notThunk() {\n return !_apply(func, this, arguments);\n };\n };\n var throwsError = function (func) {\n try {\n func();\n return false;\n } catch (e) {\n return true;\n }\n };\n var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {\n try {\n return func();\n } catch (e) {\n return false;\n }\n };\n\n var isCallableWithoutNew = not(throwsError);\n var arePropertyDescriptorsSupported = function () {\n // if Object.defineProperty exists but throws, it's IE 8\n return !throwsError(function () {\n return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return\n });\n };\n var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();\n var functionsHaveNames = (function foo() {}).name === 'foo'; // eslint-disable-line no-extra-parens\n\n var _forEach = Function.call.bind(Array.prototype.forEach);\n var _reduce = Function.call.bind(Array.prototype.reduce);\n var _filter = Function.call.bind(Array.prototype.filter);\n var _some = Function.call.bind(Array.prototype.some);\n\n var defineProperty = function (object, name, value, force) {\n if (!force && name in object) { return; }\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n\n // Define configurable, writable and non-enumerable props\n // if they don’t exist.\n var defineProperties = function (object, map, forceOverride) {\n _forEach(keys(map), function (name) {\n var method = map[name];\n defineProperty(object, name, method, !!forceOverride);\n });\n };\n\n var _toString = Function.call.bind(Object.prototype.toString);\n var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) {\n // Some old browsers (IE, FF) say that typeof /abc/ === 'function'\n return typeof x === 'function' && _toString(x) === '[object Function]';\n } : function IsCallableFast(x) { return typeof x === 'function'; };\n\n var Value = {\n getter: function (object, name, getter) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n get: getter\n });\n },\n proxy: function (originalObject, key, targetObject) {\n if (!supportsDescriptors) {\n throw new TypeError('getters require true ES5 support');\n }\n var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key);\n Object.defineProperty(targetObject, key, {\n configurable: originalDescriptor.configurable,\n enumerable: originalDescriptor.enumerable,\n get: function getKey() { return originalObject[key]; },\n set: function setKey(value) { originalObject[key] = value; }\n });\n },\n redefine: function (object, property, newValue) {\n if (supportsDescriptors) {\n var descriptor = Object.getOwnPropertyDescriptor(object, property);\n descriptor.value = newValue;\n Object.defineProperty(object, property, descriptor);\n } else {\n object[property] = newValue;\n }\n },\n defineByDescriptor: function (object, property, descriptor) {\n if (supportsDescriptors) {\n Object.defineProperty(object, property, descriptor);\n } else if ('value' in descriptor) {\n object[property] = descriptor.value;\n }\n },\n preserveToString: function (target, source) {\n if (source && isCallable(source.toString)) {\n defineProperty(target, 'toString', source.toString.bind(source), true);\n }\n }\n };\n\n // Simple shim for Object.create on ES3 browsers\n // (unlike real shim, no attempt to support `prototype === null`)\n var create = Object.create || function (prototype, properties) {\n var Prototype = function Prototype() {};\n Prototype.prototype = prototype;\n var object = new Prototype();\n if (typeof properties !== 'undefined') {\n keys(properties).forEach(function (key) {\n Value.defineByDescriptor(object, key, properties[key]);\n });\n }\n return object;\n };\n\n var supportsSubclassing = function (C, f) {\n if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ }\n return valueOrFalseIfThrows(function () {\n var Sub = function Subclass(arg) {\n var o = new C(arg);\n Object.setPrototypeOf(o, Subclass.prototype);\n return o;\n };\n Object.setPrototypeOf(Sub, C);\n Sub.prototype = create(C.prototype, {\n constructor: { value: Sub }\n });\n return f(Sub);\n });\n };\n\n var getGlobal = function () {\n /* global self, window, global */\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n };\n\n var globals = getGlobal();\n var globalIsFinite = globals.isFinite;\n var _indexOf = Function.call.bind(String.prototype.indexOf);\n var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);\n var _concat = Function.call.bind(Array.prototype.concat);\n // var _sort = Function.call.bind(Array.prototype.sort);\n var _strSlice = Function.call.bind(String.prototype.slice);\n var _push = Function.call.bind(Array.prototype.push);\n var _pushApply = Function.apply.bind(Array.prototype.push);\n var _shift = Function.call.bind(Array.prototype.shift);\n var _max = Math.max;\n var _min = Math.min;\n var _floor = Math.floor;\n var _abs = Math.abs;\n var _exp = Math.exp;\n var _log = Math.log;\n var _sqrt = Math.sqrt;\n var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);\n var ArrayIterator; // make our implementation private\n var noop = function () {};\n\n var OrigMap = globals.Map;\n var origMapDelete = OrigMap && OrigMap.prototype['delete'];\n var origMapGet = OrigMap && OrigMap.prototype.get;\n var origMapHas = OrigMap && OrigMap.prototype.has;\n var origMapSet = OrigMap && OrigMap.prototype.set;\n\n var Symbol = globals.Symbol || {};\n var symbolSpecies = Symbol.species || '@@species';\n\n var numberIsNaN = Number.isNaN || function isNaN(value) {\n // NaN !== NaN, but they are identical.\n // NaNs are the only non-reflexive value, i.e., if x !== x,\n // then x is NaN.\n // isNaN is broken: it converts its argument to number, so\n // isNaN('foo') => true\n return value !== value;\n };\n var numberIsFinite = Number.isFinite || function isFinite(value) {\n return typeof value === 'number' && globalIsFinite(value);\n };\n var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) {\n var number = Number(value);\n if (number === 0) { return number; }\n if (numberIsNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n };\n var _log1p = function log1p(value) {\n var x = Number(value);\n if (x < -1 || numberIsNaN(x)) { return NaN; }\n if (x === 0 || x === Infinity) { return x; }\n if (x === -1) { return -Infinity; }\n\n return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));\n };\n\n // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js\n // can be replaced with require('is-arguments') if we ever use a build process instead\n var isStandardArguments = function isArguments(value) {\n return _toString(value) === '[object Arguments]';\n };\n var isLegacyArguments = function isArguments(value) {\n return value !== null &&\n typeof value === 'object' &&\n typeof value.length === 'number' &&\n value.length >= 0 &&\n _toString(value) !== '[object Array]' &&\n _toString(value.callee) === '[object Function]';\n };\n var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments;\n\n var Type = {\n primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); },\n string: function (x) { return _toString(x) === '[object String]'; },\n regex: function (x) { return _toString(x) === '[object RegExp]'; },\n symbol: function (x) {\n return typeof globals.Symbol === 'function' && typeof x === 'symbol';\n }\n };\n\n var overrideNative = function overrideNative(object, property, replacement) {\n var original = object[property];\n defineProperty(object, property, replacement, true);\n Value.preserveToString(object[property], original);\n };\n\n // eslint-disable-next-line no-restricted-properties\n var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());\n\n // This is a private name in the es6 spec, equal to '[Symbol.iterator]'\n // we're going to use an arbitrary _-prefixed name to make our shims\n // work properly with each other, even though we don't have full Iterator\n // support. That is, `Array.from(map.keys())` will work, but we don't\n // pretend to export a \"real\" Iterator interface.\n var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_';\n // Firefox ships a partial implementation using the name @@iterator.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14\n // So use that name if we detect it.\n if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n // Reflect\n if (!globals.Reflect) {\n defineProperty(globals, 'Reflect', {}, true);\n }\n var Reflect = globals.Reflect;\n\n var $String = String;\n\n /* global document */\n var domAll = (typeof document === 'undefined' || !document) ? null : document.all;\n var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {\n return x == null;\n } : function isNullOrUndefinedAndNotDocumentAll(x) {\n return x == null && x !== domAll;\n };\n\n var ES = {\n // http://www.ecma-international.org/ecma-262/6.0/#sec-call\n Call: function Call(F, V) {\n var args = arguments.length > 2 ? arguments[2] : [];\n if (!ES.IsCallable(F)) {\n throw new TypeError(F + ' is not a function');\n }\n return _apply(F, V, args);\n },\n\n RequireObjectCoercible: function (x, optMessage) {\n if (isNullOrUndefined(x)) {\n throw new TypeError(optMessage || 'Cannot call method on ' + x);\n }\n return x;\n },\n\n // This might miss the \"(non-standard exotic and does not implement\n // [[Call]])\" case from\n // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation\n // but we can't find any evidence these objects exist in practice.\n // If we find some in the future, you could test `Object(x) === x`,\n // which is reliable according to\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject\n // but is not well optimized by runtimes and creates an object\n // whenever it returns false, and thus is very slow.\n TypeIsObject: function (x) {\n if (x === void 0 || x === null || x === true || x === false) {\n return false;\n }\n return typeof x === 'function' || typeof x === 'object' || x === domAll;\n },\n\n ToObject: function (o, optMessage) {\n return Object(ES.RequireObjectCoercible(o, optMessage));\n },\n\n IsCallable: isCallable,\n\n IsConstructor: function (x) {\n // We can't tell callables from constructors in ES5\n return ES.IsCallable(x);\n },\n\n ToInt32: function (x) {\n return ES.ToNumber(x) >> 0;\n },\n\n ToUint32: function (x) {\n return ES.ToNumber(x) >>> 0;\n },\n\n ToNumber: function (value) {\n if (_toString(value) === '[object Symbol]') {\n throw new TypeError('Cannot convert a Symbol value to a number');\n }\n return +value;\n },\n\n ToInteger: function (value) {\n var number = ES.ToNumber(value);\n if (numberIsNaN(number)) { return 0; }\n if (number === 0 || !numberIsFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * _floor(_abs(number));\n },\n\n ToLength: function (value) {\n var len = ES.ToInteger(value);\n if (len <= 0) { return 0; } // includes converting -0 to +0\n if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; }\n return len;\n },\n\n SameValue: function (a, b) {\n if (a === b) {\n // 0 === -0, but they are not identical.\n if (a === 0) { return 1 / a === 1 / b; }\n return true;\n }\n return numberIsNaN(a) && numberIsNaN(b);\n },\n\n SameValueZero: function (a, b) {\n // same as SameValue except for SameValueZero(+0, -0) == true\n return (a === b) || (numberIsNaN(a) && numberIsNaN(b));\n },\n\n IsIterable: function (o) {\n return ES.TypeIsObject(o) && (typeof o[$iterator$] !== 'undefined' || isArguments(o));\n },\n\n GetIterator: function (o) {\n if (isArguments(o)) {\n // special case support for `arguments`\n return new ArrayIterator(o, 'value');\n }\n var itFn = ES.GetMethod(o, $iterator$);\n if (!ES.IsCallable(itFn)) {\n // Better diagnostics if itFn is null or undefined\n throw new TypeError('value is not an iterable');\n }\n var it = ES.Call(itFn, o);\n if (!ES.TypeIsObject(it)) {\n throw new TypeError('bad iterator');\n }\n return it;\n },\n\n GetMethod: function (o, p) {\n var func = ES.ToObject(o)[p];\n if (isNullOrUndefined(func)) {\n return void 0;\n }\n if (!ES.IsCallable(func)) {\n throw new TypeError('Method not callable: ' + p);\n }\n return func;\n },\n\n IteratorComplete: function (iterResult) {\n return !!iterResult.done;\n },\n\n IteratorClose: function (iterator, completionIsThrow) {\n var returnMethod = ES.GetMethod(iterator, 'return');\n if (returnMethod === void 0) {\n return;\n }\n var innerResult, innerException;\n try {\n innerResult = ES.Call(returnMethod, iterator);\n } catch (e) {\n innerException = e;\n }\n if (completionIsThrow) {\n return;\n }\n if (innerException) {\n throw innerException;\n }\n if (!ES.TypeIsObject(innerResult)) {\n throw new TypeError(\"Iterator's return method returned a non-object.\");\n }\n },\n\n IteratorNext: function (it) {\n var result = arguments.length > 1 ? it.next(arguments[1]) : it.next();\n if (!ES.TypeIsObject(result)) {\n throw new TypeError('bad iterator');\n }\n return result;\n },\n\n IteratorStep: function (it) {\n var result = ES.IteratorNext(it);\n var done = ES.IteratorComplete(result);\n return done ? false : result;\n },\n\n Construct: function (C, args, newTarget, isES6internal) {\n var target = typeof newTarget === 'undefined' ? C : newTarget;\n\n if (!isES6internal && Reflect.construct) {\n // Try to use Reflect.construct if available\n return Reflect.construct(C, args, target);\n }\n // OK, we have to fake it. This will only work if the\n // C.[[ConstructorKind]] == \"base\" -- but that's the only\n // kind we can make in ES5 code anyway.\n\n // OrdinaryCreateFromConstructor(target, \"%ObjectPrototype%\")\n var proto = target.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = Object.prototype;\n }\n var obj = create(proto);\n // Call the constructor.\n var result = ES.Call(C, obj, args);\n return ES.TypeIsObject(result) ? result : obj;\n },\n\n SpeciesConstructor: function (O, defaultConstructor) {\n var C = O.constructor;\n if (C === void 0) {\n return defaultConstructor;\n }\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad constructor');\n }\n var S = C[symbolSpecies];\n if (isNullOrUndefined(S)) {\n return defaultConstructor;\n }\n if (!ES.IsConstructor(S)) {\n throw new TypeError('Bad @@species');\n }\n return S;\n },\n\n CreateHTML: function (string, tag, attribute, value) {\n var S = ES.ToString(string);\n var p1 = '<' + tag;\n if (attribute !== '') {\n var V = ES.ToString(value);\n var escapedV = V.replace(/\"/g, '"');\n p1 += ' ' + attribute + '=\"' + escapedV + '\"';\n }\n var p2 = p1 + '>';\n var p3 = p2 + S;\n return p3 + '';\n },\n\n IsRegExp: function IsRegExp(argument) {\n if (!ES.TypeIsObject(argument)) {\n return false;\n }\n var isRegExp = argument[Symbol.match];\n if (typeof isRegExp !== 'undefined') {\n return !!isRegExp;\n }\n return Type.regex(argument);\n },\n\n ToString: function ToString(string) {\n return $String(string);\n }\n };\n\n // Well-known Symbol shims\n if (supportsDescriptors && hasSymbols) {\n var defineWellKnownSymbol = function defineWellKnownSymbol(name) {\n if (Type.symbol(Symbol[name])) {\n return Symbol[name];\n }\n // eslint-disable-next-line no-restricted-properties\n var sym = Symbol['for']('Symbol.' + name);\n Object.defineProperty(Symbol, name, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: sym\n });\n return sym;\n };\n if (!Type.symbol(Symbol.search)) {\n var symbolSearch = defineWellKnownSymbol('search');\n var originalSearch = String.prototype.search;\n defineProperty(RegExp.prototype, symbolSearch, function search(string) {\n return ES.Call(originalSearch, string, [this]);\n });\n var searchShim = function search(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var searcher = ES.GetMethod(regexp, symbolSearch);\n if (typeof searcher !== 'undefined') {\n return ES.Call(searcher, regexp, [O]);\n }\n }\n return ES.Call(originalSearch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'search', searchShim);\n }\n if (!Type.symbol(Symbol.replace)) {\n var symbolReplace = defineWellKnownSymbol('replace');\n var originalReplace = String.prototype.replace;\n defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) {\n return ES.Call(originalReplace, string, [this, replaceValue]);\n });\n var replaceShim = function replace(searchValue, replaceValue) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(searchValue)) {\n var replacer = ES.GetMethod(searchValue, symbolReplace);\n if (typeof replacer !== 'undefined') {\n return ES.Call(replacer, searchValue, [O, replaceValue]);\n }\n }\n return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);\n };\n overrideNative(String.prototype, 'replace', replaceShim);\n }\n if (!Type.symbol(Symbol.split)) {\n var symbolSplit = defineWellKnownSymbol('split');\n var originalSplit = String.prototype.split;\n defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) {\n return ES.Call(originalSplit, string, [this, limit]);\n });\n var splitShim = function split(separator, limit) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(separator)) {\n var splitter = ES.GetMethod(separator, symbolSplit);\n if (typeof splitter !== 'undefined') {\n return ES.Call(splitter, separator, [O, limit]);\n }\n }\n return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);\n };\n overrideNative(String.prototype, 'split', splitShim);\n }\n var symbolMatchExists = Type.symbol(Symbol.match);\n var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {\n // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.\n // Firefox 40 and below have Symbol.match but String#match works fine.\n var o = {};\n o[Symbol.match] = function () { return 42; };\n return 'a'.match(o) !== 42;\n }());\n if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {\n var symbolMatch = defineWellKnownSymbol('match');\n\n var originalMatch = String.prototype.match;\n defineProperty(RegExp.prototype, symbolMatch, function match(string) {\n return ES.Call(originalMatch, string, [this]);\n });\n\n var matchShim = function match(regexp) {\n var O = ES.RequireObjectCoercible(this);\n if (!isNullOrUndefined(regexp)) {\n var matcher = ES.GetMethod(regexp, symbolMatch);\n if (typeof matcher !== 'undefined') {\n return ES.Call(matcher, regexp, [O]);\n }\n }\n return ES.Call(originalMatch, O, [ES.ToString(regexp)]);\n };\n overrideNative(String.prototype, 'match', matchShim);\n }\n }\n\n var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) {\n Value.preserveToString(replacement, original);\n if (Object.setPrototypeOf) {\n // sets up proper prototype chain where possible\n Object.setPrototypeOf(original, replacement);\n }\n if (supportsDescriptors) {\n _forEach(Object.getOwnPropertyNames(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n Value.proxy(original, key, replacement);\n });\n } else {\n _forEach(Object.keys(original), function (key) {\n if (key in noop || keysToSkip[key]) { return; }\n replacement[key] = original[key];\n });\n }\n replacement.prototype = original.prototype;\n Value.redefine(original.prototype, 'constructor', replacement);\n };\n\n var defaultSpeciesGetter = function () { return this; };\n var addDefaultSpecies = function (C) {\n if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {\n Value.getter(C, symbolSpecies, defaultSpeciesGetter);\n }\n };\n\n var addIterator = function (prototype, impl) {\n var implementation = impl || function iterator() { return this; };\n defineProperty(prototype, $iterator$, implementation);\n if (!prototype[$iterator$] && Type.symbol($iterator$)) {\n // implementations are buggy when $iterator$ is a Symbol\n prototype[$iterator$] = implementation;\n }\n };\n\n var createDataProperty = function createDataProperty(object, name, value) {\n if (supportsDescriptors) {\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) {\n createDataProperty(object, name, value);\n if (!ES.SameValue(object[name], value)) {\n throw new TypeError('property is nonconfigurable');\n }\n };\n\n var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {\n // This is an es5 approximation to es6 construct semantics. in es6,\n // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)\n // just sets the internal variable NewTarget (in es6 syntax `new.target`)\n // to Foo and then returns Foo().\n\n // Many ES6 object then have constructors of the form:\n // 1. If NewTarget is undefined, throw a TypeError exception\n // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)\n\n // So we're going to emulate those first two steps.\n if (!ES.TypeIsObject(o)) {\n throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);\n }\n var proto = defaultNewTarget.prototype;\n if (!ES.TypeIsObject(proto)) {\n proto = defaultProto;\n }\n var obj = create(proto);\n for (var name in slots) {\n if (_hasOwnProperty(slots, name)) {\n var value = slots[name];\n defineProperty(obj, name, value, true);\n }\n }\n return obj;\n };\n\n // Firefox 31 reports this function's length as 0\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484\n if (String.fromCodePoint && String.fromCodePoint.length !== 1) {\n var originalFromCodePoint = String.fromCodePoint;\n overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) {\n return ES.Call(originalFromCodePoint, this, arguments);\n });\n }\n\n var StringShims = {\n fromCodePoint: function fromCodePoint(codePoints) {\n var result = [];\n var next;\n for (var i = 0, length = arguments.length; i < length; i++) {\n next = Number(arguments[i]);\n if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {\n throw new RangeError('Invalid code point ' + next);\n }\n\n if (next < 0x10000) {\n _push(result, String.fromCharCode(next));\n } else {\n next -= 0x10000;\n _push(result, String.fromCharCode((next >> 10) + 0xD800));\n _push(result, String.fromCharCode((next % 0x400) + 0xDC00));\n }\n }\n return result.join('');\n },\n\n raw: function raw(callSite) {\n var cooked = ES.ToObject(callSite, 'bad callSite');\n var rawString = ES.ToObject(cooked.raw, 'bad raw value');\n var len = rawString.length;\n var literalsegments = ES.ToLength(len);\n if (literalsegments <= 0) {\n return '';\n }\n\n var stringElements = [];\n var nextIndex = 0;\n var nextKey, next, nextSeg, nextSub;\n while (nextIndex < literalsegments) {\n nextKey = ES.ToString(nextIndex);\n nextSeg = ES.ToString(rawString[nextKey]);\n _push(stringElements, nextSeg);\n if (nextIndex + 1 >= literalsegments) {\n break;\n }\n next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';\n nextSub = ES.ToString(next);\n _push(stringElements, nextSub);\n nextIndex += 1;\n }\n return stringElements.join('');\n }\n };\n if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {\n // IE 11 TP has a broken String.raw implementation\n overrideNative(String, 'raw', StringShims.raw);\n }\n defineProperties(String, StringShims);\n\n // Fast repeat, uses the `Exponentiation by squaring` algorithm.\n // Perf: http://jsperf.com/string-repeat2/2\n var stringRepeat = function repeat(s, times) {\n if (times < 1) { return ''; }\n if (times % 2) { return repeat(s, times - 1) + s; }\n var half = repeat(s, times / 2);\n return half + half;\n };\n var stringMaxLength = Infinity;\n\n var StringPrototypeShims = {\n repeat: function repeat(times) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var numTimes = ES.ToInteger(times);\n if (numTimes < 0 || numTimes >= stringMaxLength) {\n throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');\n }\n return stringRepeat(thisStr, numTimes);\n },\n\n startsWith: function startsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"startsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n var start = _max(ES.ToInteger(position), 0);\n return _strSlice(S, start, start + searchStr.length) === searchStr;\n },\n\n endsWith: function endsWith(searchString) {\n var S = ES.ToString(ES.RequireObjectCoercible(this));\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('Cannot call method \"endsWith\" with a regex');\n }\n var searchStr = ES.ToString(searchString);\n var len = S.length;\n var endPosition;\n if (arguments.length > 1) {\n endPosition = arguments[1];\n }\n var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);\n var end = _min(_max(pos, 0), len);\n return _strSlice(S, end - searchStr.length, end) === searchStr;\n },\n\n includes: function includes(searchString) {\n if (ES.IsRegExp(searchString)) {\n throw new TypeError('\"includes\" does not accept a RegExp');\n }\n var searchStr = ES.ToString(searchString);\n var position;\n if (arguments.length > 1) {\n position = arguments[1];\n }\n // Somehow this trick makes method 100% compat with the spec.\n return _indexOf(this, searchStr, position) !== -1;\n },\n\n codePointAt: function codePointAt(pos) {\n var thisStr = ES.ToString(ES.RequireObjectCoercible(this));\n var position = ES.ToInteger(pos);\n var length = thisStr.length;\n if (position >= 0 && position < length) {\n var first = thisStr.charCodeAt(position);\n var isEnd = position + 1 === length;\n if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; }\n var second = thisStr.charCodeAt(position + 1);\n if (second < 0xDC00 || second > 0xDFFF) { return first; }\n return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;\n }\n }\n };\n if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n\n if (String.prototype.startsWith && String.prototype.endsWith) {\n var startsWithRejectsRegex = throwsError(function () {\n /* throws if spec-compliant */\n return '/a/'.startsWith(/a/);\n });\n var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {\n return 'abc'.startsWith('a', Infinity) === false;\n });\n if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {\n // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n }\n if (hasSymbols) {\n var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.startsWith(re);\n });\n if (!startsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);\n }\n var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.endsWith(re);\n });\n if (!endsWithSupportsSymbolMatch) {\n overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);\n }\n var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {\n var re = /a/;\n re[Symbol.match] = false;\n return '/a/'.includes(re);\n });\n if (!includesSupportsSymbolMatch) {\n overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);\n }\n }\n\n defineProperties(String.prototype, StringPrototypeShims);\n\n // whitespace from: http://es5.github.io/#x15.5.4.20\n // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\n var ws = [\n '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n '\\u2029\\uFEFF'\n ].join('');\n var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\n var trimShim = function trim() {\n return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');\n };\n var nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\n var nonWSregex = new RegExp('[' + nonWS + ']', 'g');\n var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;\n var hasStringTrimBug = nonWS.trim().length !== nonWS.length;\n defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);\n\n // Given an argument x, it will return an IteratorResult object,\n // with value set to x and done to false.\n // Given no arguments, it will return an iterator completion object.\n var iteratorResult = function (x) {\n return { value: x, done: arguments.length === 0 };\n };\n\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator\n var StringIterator = function (s) {\n ES.RequireObjectCoercible(s);\n this._s = ES.ToString(s);\n this._i = 0;\n };\n StringIterator.prototype.next = function () {\n var s = this._s;\n var i = this._i;\n if (typeof s === 'undefined' || i >= s.length) {\n this._s = void 0;\n return iteratorResult();\n }\n var first = s.charCodeAt(i);\n var second, len;\n if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {\n len = 1;\n } else {\n second = s.charCodeAt(i + 1);\n len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;\n }\n this._i = i + len;\n return iteratorResult(s.substr(i, len));\n };\n addIterator(StringIterator.prototype);\n addIterator(String.prototype, function () {\n return new StringIterator(this);\n });\n\n var ArrayShims = {\n from: function from(items) {\n var C = this;\n var mapFn;\n if (arguments.length > 1) {\n mapFn = arguments[1];\n }\n var mapping, T;\n if (typeof mapFn === 'undefined') {\n mapping = false;\n } else {\n if (!ES.IsCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n if (arguments.length > 2) {\n T = arguments[2];\n }\n mapping = true;\n }\n\n // Note that that Arrays will use ArrayIterator:\n // https://bugs.ecmascript.org/show_bug.cgi?id=2416\n var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';\n\n var length, result, i;\n if (usingIterator) {\n result = ES.IsConstructor(C) ? Object(new C()) : [];\n var iterator = ES.GetIterator(items);\n var next, nextValue;\n\n i = 0;\n while (true) {\n next = ES.IteratorStep(iterator);\n if (next === false) {\n break;\n }\n nextValue = next.value;\n try {\n if (mapping) {\n nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);\n }\n result[i] = nextValue;\n } catch (e) {\n ES.IteratorClose(iterator, true);\n throw e;\n }\n i += 1;\n }\n length = i;\n } else {\n var arrayLike = ES.ToObject(items);\n length = ES.ToLength(arrayLike.length);\n result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);\n var value;\n for (i = 0; i < length; ++i) {\n value = arrayLike[i];\n if (mapping) {\n value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);\n }\n createDataPropertyOrThrow(result, i, value);\n }\n }\n\n result.length = length;\n return result;\n },\n\n of: function of() {\n var len = arguments.length;\n var C = this;\n var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);\n for (var k = 0; k < len; ++k) {\n createDataPropertyOrThrow(A, k, arguments[k]);\n }\n A.length = len;\n return A;\n }\n };\n defineProperties(Array, ArrayShims);\n addDefaultSpecies(Array);\n\n // Our ArrayIterator is private; see\n // https://github.com/paulmillr/es6-shim/issues/252\n ArrayIterator = function (array, kind) {\n this.i = 0;\n this.array = array;\n this.kind = kind;\n };\n\n defineProperties(ArrayIterator.prototype, {\n next: function () {\n var i = this.i;\n var array = this.array;\n if (!(this instanceof ArrayIterator)) {\n throw new TypeError('Not an ArrayIterator');\n }\n if (typeof array !== 'undefined') {\n var len = ES.ToLength(array.length);\n for (; i < len; i++) {\n var kind = this.kind;\n var retval;\n if (kind === 'key') {\n retval = i;\n } else if (kind === 'value') {\n retval = array[i];\n } else if (kind === 'entry') {\n retval = [i, array[i]];\n }\n this.i = i + 1;\n return iteratorResult(retval);\n }\n }\n this.array = void 0;\n return iteratorResult();\n }\n });\n addIterator(ArrayIterator.prototype);\n\n /*\n var orderKeys = function orderKeys(a, b) {\n var aNumeric = String(ES.ToInteger(a)) === a;\n var bNumeric = String(ES.ToInteger(b)) === b;\n if (aNumeric && bNumeric) {\n return b - a;\n } else if (aNumeric && !bNumeric) {\n return -1;\n } else if (!aNumeric && bNumeric) {\n return 1;\n } else {\n return a.localeCompare(b);\n }\n };\n\n var getAllKeys = function getAllKeys(object) {\n var ownKeys = [];\n var keys = [];\n\n for (var key in object) {\n _push(_hasOwnProperty(object, key) ? ownKeys : keys, key);\n }\n _sort(ownKeys, orderKeys);\n _sort(keys, orderKeys);\n\n return _concat(ownKeys, keys);\n };\n */\n\n // note: this is positioned here because it depends on ArrayIterator\n var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {\n // Detects a bug in Webkit nightly r181886\n var Foo = function Foo(len) { this.length = len; };\n Foo.prototype = [];\n var fooArr = Array.of.apply(Foo, [1, 2]);\n return fooArr instanceof Foo && fooArr.length === 2;\n }());\n if (!arrayOfSupportsSubclassing) {\n overrideNative(Array, 'of', ArrayShims.of);\n }\n\n var ArrayPrototypeShims = {\n copyWithin: function copyWithin(target, start) {\n var o = ES.ToObject(this);\n var len = ES.ToLength(o.length);\n var relativeTarget = ES.ToInteger(target);\n var relativeStart = ES.ToInteger(start);\n var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);\n var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end);\n var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);\n var count = _min(finalItem - from, len - to);\n var direction = 1;\n if (from < to && to < (from + count)) {\n direction = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count > 0) {\n if (from in o) {\n o[to] = o[from];\n } else {\n delete o[to];\n }\n from += direction;\n to += direction;\n count -= 1;\n }\n return o;\n },\n\n fill: function fill(value) {\n var start;\n if (arguments.length > 1) {\n start = arguments[1];\n }\n var end;\n if (arguments.length > 2) {\n end = arguments[2];\n }\n var O = ES.ToObject(this);\n var len = ES.ToLength(O.length);\n start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);\n end = ES.ToInteger(typeof end === 'undefined' ? len : end);\n\n var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len);\n var relativeEnd = end < 0 ? len + end : end;\n\n for (var i = relativeStart; i < len && i < relativeEnd; ++i) {\n O[i] = value;\n }\n return O;\n },\n\n find: function find(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#find: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0, value; i < length; i++) {\n value = list[i];\n if (thisArg) {\n if (_call(predicate, thisArg, value, i, list)) {\n return value;\n }\n } else if (predicate(value, i, list)) {\n return value;\n }\n }\n },\n\n findIndex: function findIndex(predicate) {\n var list = ES.ToObject(this);\n var length = ES.ToLength(list.length);\n if (!ES.IsCallable(predicate)) {\n throw new TypeError('Array#findIndex: predicate must be a function');\n }\n var thisArg = arguments.length > 1 ? arguments[1] : null;\n for (var i = 0; i < length; i++) {\n if (thisArg) {\n if (_call(predicate, thisArg, list[i], i, list)) {\n return i;\n }\n } else if (predicate(list[i], i, list)) {\n return i;\n }\n }\n return -1;\n },\n\n keys: function keys() {\n return new ArrayIterator(this, 'key');\n },\n\n values: function values() {\n return new ArrayIterator(this, 'value');\n },\n\n entries: function entries() {\n return new ArrayIterator(this, 'entry');\n }\n };\n // Safari 7.1 defines Array#keys and Array#entries natively,\n // but the resulting ArrayIterator objects don't have a \"next\" method.\n if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {\n delete Array.prototype.keys;\n }\n if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {\n delete Array.prototype.entries;\n }\n\n // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values\n if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) {\n defineProperties(Array.prototype, {\n values: Array.prototype[$iterator$]\n });\n if (Type.symbol(Symbol.unscopables)) {\n Array.prototype[Symbol.unscopables].values = true;\n }\n }\n // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name\n if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {\n var originalArrayPrototypeValues = Array.prototype.values;\n overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); });\n defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);\n }\n defineProperties(Array.prototype, ArrayPrototypeShims);\n\n if (1 / [true].indexOf(true, -0) < 0) {\n // indexOf when given a position arg of -0 should return +0.\n // https://github.com/tc39/ecma262/pull/316\n defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) {\n var value = _arrayIndexOfApply(this, arguments);\n if (value === 0 && (1 / value) < 0) {\n return 0;\n }\n return value;\n }, true);\n }\n\n addIterator(Array.prototype, function () { return this.values(); });\n // Chrome defines keys/values/entries on Array, but doesn't give us\n // any way to identify its iterator. So add our own shimmed field.\n if (Object.getPrototypeOf) {\n addIterator(Object.getPrototypeOf([].values()));\n }\n\n // note: this is positioned here because it relies on Array#entries\n var arrayFromSwallowsNegativeLengths = (function () {\n // Detects a Firefox bug in v32\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993\n return valueOrFalseIfThrows(function () {\n return Array.from({ length: -1 }).length === 0;\n });\n }());\n var arrayFromHandlesIterables = (function () {\n // Detects a bug in Webkit nightly r181886\n var arr = Array.from([0].entries());\n return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;\n }());\n if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {\n overrideNative(Array, 'from', ArrayShims.from);\n }\n var arrayFromHandlesUndefinedMapFunction = (function () {\n // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,\n // but the spec doesn't care if it's provided or not - undefined doesn't throw.\n return valueOrFalseIfThrows(function () {\n return Array.from([0], void 0);\n });\n }());\n if (!arrayFromHandlesUndefinedMapFunction) {\n var origArrayFrom = Array.from;\n overrideNative(Array, 'from', function from(items) {\n if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {\n return ES.Call(origArrayFrom, this, arguments);\n } else {\n return _call(origArrayFrom, this, items);\n }\n });\n }\n\n var int32sAsOne = -(Math.pow(2, 32) - 1);\n var toLengthsCorrectly = function (method, reversed) {\n var obj = { length: int32sAsOne };\n obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;\n return valueOrFalseIfThrows(function () {\n _call(method, obj, function () {\n // note: in nonconforming browsers, this will be called\n // -1 >>> 0 times, which is 4294967295, so the throw matters.\n throw new RangeError('should not reach here');\n }, []);\n return true;\n });\n };\n if (!toLengthsCorrectly(Array.prototype.forEach)) {\n var originalForEach = Array.prototype.forEach;\n overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) {\n return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.map)) {\n var originalMap = Array.prototype.map;\n overrideNative(Array.prototype, 'map', function map(callbackFn) {\n return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.filter)) {\n var originalFilter = Array.prototype.filter;\n overrideNative(Array.prototype, 'filter', function filter(callbackFn) {\n return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.some)) {\n var originalSome = Array.prototype.some;\n overrideNative(Array.prototype, 'some', function some(callbackFn) {\n return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.every)) {\n var originalEvery = Array.prototype.every;\n overrideNative(Array.prototype, 'every', function every(callbackFn) {\n return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduce)) {\n var originalReduce = Array.prototype.reduce;\n overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) {\n return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {\n var originalReduceRight = Array.prototype.reduceRight;\n overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) {\n return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);\n }, true);\n }\n\n var lacksOctalSupport = Number('0o10') !== 8;\n var lacksBinarySupport = Number('0b10') !== 2;\n var trimsNonWhitespace = _some(nonWS, function (c) {\n return Number(c + 0 + c) === 0;\n });\n if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {\n var OrigNumber = Number;\n var binaryRegex = /^0b[01]+$/i;\n var octalRegex = /^0o[0-7]+$/i;\n // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, \"test\" is an own property of regexes. wtf.\n var isBinary = binaryRegex.test.bind(binaryRegex);\n var isOctal = octalRegex.test.bind(octalRegex);\n var toPrimitive = function (O) { // need to replace this with `es-to-primitive/es6`\n var result;\n if (typeof O.valueOf === 'function') {\n result = O.valueOf();\n if (Type.primitive(result)) {\n return result;\n }\n }\n if (typeof O.toString === 'function') {\n result = O.toString();\n if (Type.primitive(result)) {\n return result;\n }\n }\n throw new TypeError('No default value');\n };\n var hasNonWS = nonWSregex.test.bind(nonWSregex);\n var isBadHex = isBadHexRegex.test.bind(isBadHexRegex);\n var NumberShim = (function () {\n // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.\n var NumberShim = function Number(value) {\n var primValue;\n if (arguments.length > 0) {\n primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');\n } else {\n primValue = 0;\n }\n if (typeof primValue === 'string') {\n primValue = ES.Call(trimShim, primValue);\n if (isBinary(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 2);\n } else if (isOctal(primValue)) {\n primValue = parseInt(_strSlice(primValue, 2), 8);\n } else if (hasNonWS(primValue) || isBadHex(primValue)) {\n primValue = NaN;\n }\n }\n var receiver = this;\n var valueOfSucceeds = valueOrFalseIfThrows(function () {\n OrigNumber.prototype.valueOf.call(receiver);\n return true;\n });\n if (receiver instanceof NumberShim && !valueOfSucceeds) {\n return new OrigNumber(primValue);\n }\n return OrigNumber(primValue);\n };\n return NumberShim;\n }());\n wrapConstructor(OrigNumber, NumberShim, {});\n // this is necessary for ES3 browsers, where these properties are non-enumerable.\n defineProperties(NumberShim, {\n NaN: OrigNumber.NaN,\n MAX_VALUE: OrigNumber.MAX_VALUE,\n MIN_VALUE: OrigNumber.MIN_VALUE,\n NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,\n POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY\n });\n /* globals Number: true */\n /* eslint-disable no-undef, no-global-assign */\n Number = NumberShim;\n Value.redefine(globals, 'Number', NumberShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals Number: false */\n }\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n defineProperties(Number, {\n MAX_SAFE_INTEGER: maxSafeInteger,\n MIN_SAFE_INTEGER: -maxSafeInteger,\n EPSILON: 2.220446049250313e-16,\n\n parseInt: globals.parseInt,\n parseFloat: globals.parseFloat,\n\n isFinite: numberIsFinite,\n\n isInteger: function isInteger(value) {\n return numberIsFinite(value) && ES.ToInteger(value) === value;\n },\n\n isSafeInteger: function isSafeInteger(value) {\n return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;\n },\n\n isNaN: numberIsNaN\n });\n // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)\n defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);\n\n // Work around bugs in Array#find and Array#findIndex -- early\n // implementations skipped holes in sparse arrays. (Note that the\n // implementations of find/findIndex indirectly use shimmed\n // methods of Number, so this test has to happen down here.)\n /* eslint-disable no-sparse-arrays */\n if ([, 1].find(function () { return true; }) === 1) {\n overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);\n }\n if ([, 1].findIndex(function () { return true; }) !== 0) {\n overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);\n }\n /* eslint-enable no-sparse-arrays */\n\n var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);\n var ensureEnumerable = function ensureEnumerable(obj, prop) {\n if (supportsDescriptors && isEnumerableOn(obj, prop)) {\n Object.defineProperty(obj, prop, { enumerable: false });\n }\n };\n var sliceArgs = function sliceArgs() {\n // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n // and https://gist.github.com/WebReflection/4327762cb87a8c634a29\n var initial = Number(this);\n var len = arguments.length;\n var desiredArgCount = len - initial;\n var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount);\n for (var i = initial; i < len; ++i) {\n args[i - initial] = arguments[i];\n }\n return args;\n };\n var assignTo = function assignTo(source) {\n return function assignToSource(target, key) {\n target[key] = source[key];\n return target;\n };\n };\n var assignReducer = function (target, source) {\n var sourceKeys = keys(Object(source));\n var symbols;\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));\n }\n return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);\n };\n\n var ObjectShims = {\n // 19.1.3.1\n assign: function (target, source) {\n var to = ES.ToObject(target, 'Cannot convert undefined or null to object');\n return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);\n },\n\n // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865\n is: function is(a, b) {\n return ES.SameValue(a, b);\n }\n };\n var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {\n // Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n // which is 72% slower than our shim, and Firefox 40's native implementation.\n var thrower = Object.preventExtensions({ 1: 2 });\n try {\n Object.assign(thrower, 'xy');\n } catch (e) {\n return thrower[1] === 'y';\n }\n }());\n if (assignHasPendingExceptions) {\n overrideNative(Object, 'assign', ObjectShims.assign);\n }\n defineProperties(Object, ObjectShims);\n\n if (supportsDescriptors) {\n var ES5ObjectShims = {\n // 19.1.3.9\n // shim from https://gist.github.com/WebReflection/5593554\n setPrototypeOf: (function (Object, magic) {\n var set;\n\n var checkArgs = function (O, proto) {\n if (!ES.TypeIsObject(O)) {\n throw new TypeError('cannot set prototype on a non-object');\n }\n if (!(proto === null || ES.TypeIsObject(proto))) {\n throw new TypeError('can only set prototype to an object or null' + proto);\n }\n };\n\n var setPrototypeOf = function (O, proto) {\n checkArgs(O, proto);\n _call(set, O, proto);\n return O;\n };\n\n try {\n // this works already in Firefox and Safari\n set = Object.getOwnPropertyDescriptor(Object.prototype, magic).set;\n _call(set, {}, null);\n } catch (e) {\n if (Object.prototype !== {}[magic]) {\n // IE < 11 cannot be shimmed\n return;\n }\n // probably Chrome or some old Mobile stock browser\n set = function (proto) {\n this[magic] = proto;\n };\n // please note that this will **not** work\n // in those browsers that do not inherit\n // __proto__ by mistake from Object.prototype\n // in these cases we should probably throw an error\n // or at least be informed about the issue\n setPrototypeOf.polyfill = setPrototypeOf(\n setPrototypeOf({}, null),\n Object.prototype\n ) instanceof Object;\n // setPrototypeOf.polyfill === true means it works as meant\n // setPrototypeOf.polyfill === false means it's not 100% reliable\n // setPrototypeOf.polyfill === undefined\n // or\n // setPrototypeOf.polyfill == null means it's not a polyfill\n // which means it works as expected\n // we can even delete Object.prototype.__proto__;\n }\n return setPrototypeOf;\n }(Object, '__proto__'))\n };\n\n defineProperties(Object, ES5ObjectShims);\n }\n\n // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,\n // but Object.create(null) does.\n if (Object.setPrototypeOf && Object.getPrototypeOf &&\n Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null &&\n Object.getPrototypeOf(Object.create(null)) === null) {\n (function () {\n var FAKENULL = Object.create(null);\n var gpo = Object.getPrototypeOf;\n var spo = Object.setPrototypeOf;\n Object.getPrototypeOf = function (o) {\n var result = gpo(o);\n return result === FAKENULL ? null : result;\n };\n Object.setPrototypeOf = function (o, p) {\n var proto = p === null ? FAKENULL : p;\n return spo(o, proto);\n };\n Object.setPrototypeOf.polyfill = false;\n }());\n }\n\n var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });\n if (!objectKeysAcceptsPrimitives) {\n var originalObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n return originalObjectKeys(ES.ToObject(value));\n });\n keys = Object.keys;\n }\n var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });\n if (objectKeysRejectsRegex) {\n var regexRejectingObjectKeys = Object.keys;\n overrideNative(Object, 'keys', function keys(value) {\n if (Type.regex(value)) {\n var regexKeys = [];\n for (var k in value) {\n if (_hasOwnProperty(value, k)) {\n _push(regexKeys, k);\n }\n }\n return regexKeys;\n }\n return regexRejectingObjectKeys(value);\n });\n keys = Object.keys;\n }\n\n if (Object.getOwnPropertyNames) {\n var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });\n if (!objectGOPNAcceptsPrimitives) {\n var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];\n var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) {\n var val = ES.ToObject(value);\n if (_toString(val) === '[object Window]') {\n try {\n return originalObjectGetOwnPropertyNames(val);\n } catch (e) {\n // IE bug where layout engine calls userland gOPN for cross-domain `window` objects\n return _concat([], cachedWindowNames);\n }\n }\n return originalObjectGetOwnPropertyNames(val);\n });\n }\n }\n if (Object.getOwnPropertyDescriptor) {\n var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });\n if (!objectGOPDAcceptsPrimitives) {\n var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) {\n return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);\n });\n }\n }\n if (Object.seal) {\n var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });\n if (!objectSealAcceptsPrimitives) {\n var originalObjectSeal = Object.seal;\n overrideNative(Object, 'seal', function seal(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectSeal(value);\n });\n }\n }\n if (Object.isSealed) {\n var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });\n if (!objectIsSealedAcceptsPrimitives) {\n var originalObjectIsSealed = Object.isSealed;\n overrideNative(Object, 'isSealed', function isSealed(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsSealed(value);\n });\n }\n }\n if (Object.freeze) {\n var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });\n if (!objectFreezeAcceptsPrimitives) {\n var originalObjectFreeze = Object.freeze;\n overrideNative(Object, 'freeze', function freeze(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectFreeze(value);\n });\n }\n }\n if (Object.isFrozen) {\n var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });\n if (!objectIsFrozenAcceptsPrimitives) {\n var originalObjectIsFrozen = Object.isFrozen;\n overrideNative(Object, 'isFrozen', function isFrozen(value) {\n if (!ES.TypeIsObject(value)) { return true; }\n return originalObjectIsFrozen(value);\n });\n }\n }\n if (Object.preventExtensions) {\n var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });\n if (!objectPreventExtensionsAcceptsPrimitives) {\n var originalObjectPreventExtensions = Object.preventExtensions;\n overrideNative(Object, 'preventExtensions', function preventExtensions(value) {\n if (!ES.TypeIsObject(value)) { return value; }\n return originalObjectPreventExtensions(value);\n });\n }\n }\n if (Object.isExtensible) {\n var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });\n if (!objectIsExtensibleAcceptsPrimitives) {\n var originalObjectIsExtensible = Object.isExtensible;\n overrideNative(Object, 'isExtensible', function isExtensible(value) {\n if (!ES.TypeIsObject(value)) { return false; }\n return originalObjectIsExtensible(value);\n });\n }\n }\n if (Object.getPrototypeOf) {\n var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });\n if (!objectGetProtoAcceptsPrimitives) {\n var originalGetProto = Object.getPrototypeOf;\n overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) {\n return originalGetProto(ES.ToObject(value));\n });\n }\n }\n\n var hasFlags = supportsDescriptors && (function () {\n var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');\n return desc && ES.IsCallable(desc.get);\n }());\n if (supportsDescriptors && !hasFlags) {\n var regExpFlagsGetter = function flags() {\n if (!ES.TypeIsObject(this)) {\n throw new TypeError('Method called on incompatible type: must be an object.');\n }\n var result = '';\n if (this.global) {\n result += 'g';\n }\n if (this.ignoreCase) {\n result += 'i';\n }\n if (this.multiline) {\n result += 'm';\n }\n if (this.unicode) {\n result += 'u';\n }\n if (this.sticky) {\n result += 'y';\n }\n return result;\n };\n\n Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);\n }\n\n var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {\n return String(new RegExp(/a/g, 'i')) === '/a/i';\n });\n var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {\n // Edge 0.12 supports flags fully, but does not support Symbol.match\n var regex = /./;\n regex[Symbol.match] = false;\n return RegExp(regex) === regex;\n }());\n\n var regexToStringIsGeneric = valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';\n });\n var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () {\n return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';\n });\n if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) {\n var origRegExpToString = RegExp.prototype.toString;\n defineProperty(RegExp.prototype, 'toString', function toString() {\n var R = ES.RequireObjectCoercible(this);\n if (Type.regex(R)) {\n return _call(origRegExpToString, R);\n }\n var pattern = $String(R.source);\n var flags = $String(R.flags);\n return '/' + pattern + '/' + flags;\n }, true);\n Value.preserveToString(RegExp.prototype.toString, origRegExpToString);\n }\n\n if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {\n var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;\n var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};\n var legacySourceGetter = function () {\n // prior to it being a getter, it's own + nonconfigurable\n return this.source;\n };\n var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;\n\n var OrigRegExp = RegExp;\n var RegExpShim = (function () {\n return function RegExp(pattern, flags) {\n var patternIsRegExp = ES.IsRegExp(pattern);\n var calledWithNew = this instanceof RegExp;\n if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {\n return pattern;\n }\n\n var P = pattern;\n var F = flags;\n if (Type.regex(pattern)) {\n P = ES.Call(sourceGetter, pattern);\n F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;\n return new RegExp(P, F);\n } else if (patternIsRegExp) {\n P = pattern.source;\n F = typeof flags === 'undefined' ? pattern.flags : flags;\n }\n return new OrigRegExp(pattern, flags);\n };\n }());\n wrapConstructor(OrigRegExp, RegExpShim, {\n $input: true // Chrome < v39 & Opera < 26 have a nonstandard \"$input\" property\n });\n /* globals RegExp: true */\n /* eslint-disable no-undef, no-global-assign */\n RegExp = RegExpShim;\n Value.redefine(globals, 'RegExp', RegExpShim);\n /* eslint-enable no-undef, no-global-assign */\n /* globals RegExp: false */\n }\n\n if (supportsDescriptors) {\n var regexGlobals = {\n input: '$_',\n lastMatch: '$&',\n lastParen: '$+',\n leftContext: '$`',\n rightContext: '$\\''\n };\n _forEach(keys(regexGlobals), function (prop) {\n if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {\n Value.getter(RegExp, regexGlobals[prop], function get() {\n return RegExp[prop];\n });\n }\n });\n }\n addDefaultSpecies(RegExp);\n\n var inverseEpsilon = 1 / Number.EPSILON;\n var roundTiesToEven = function roundTiesToEven(n) {\n // Even though this reduces down to `return n`, it takes advantage of built-in rounding.\n return (n + inverseEpsilon) - inverseEpsilon;\n };\n var BINARY_32_EPSILON = Math.pow(2, -23);\n var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);\n var BINARY_32_MIN_VALUE = Math.pow(2, -126);\n var E = Math.E;\n var LOG2E = Math.LOG2E;\n var LOG10E = Math.LOG10E;\n var numberCLZ = Number.prototype.clz;\n delete Number.prototype.clz; // Safari 8 has Number#clz\n\n var MathShims = {\n acosh: function acosh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || value < 1) { return NaN; }\n if (x === 1) { return 0; }\n if (x === Infinity) { return x; }\n\n var xInvSquared = 1 / (x * x);\n if (x < 2) {\n return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));\n }\n var halfX = x / 2;\n return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);\n },\n\n asinh: function asinh(value) {\n var x = Number(value);\n if (x === 0 || !globalIsFinite(x)) {\n return x;\n }\n\n var a = _abs(x);\n var aSquared = a * a;\n var s = _sign(x);\n if (a < 1) {\n return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));\n }\n return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));\n },\n\n atanh: function atanh(value) {\n var x = Number(value);\n\n if (x === 0) { return x; }\n if (x === -1) { return -Infinity; }\n if (x === 1) { return Infinity; }\n if (numberIsNaN(x) || x < -1 || x > 1) {\n return NaN;\n }\n\n var a = _abs(x);\n return _sign(x) * _log1p(2 * a / (1 - a)) / 2;\n },\n\n cbrt: function cbrt(value) {\n var x = Number(value);\n if (x === 0) { return x; }\n var negate = x < 0;\n var result;\n if (negate) { x = -x; }\n if (x === Infinity) {\n result = Infinity;\n } else {\n result = _exp(_log(x) / 3);\n // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods\n result = ((x / (result * result)) + (2 * result)) / 3;\n }\n return negate ? -result : result;\n },\n\n clz32: function clz32(value) {\n // See https://bugs.ecmascript.org/show_bug.cgi?id=2465\n var x = Number(value);\n var number = ES.ToUint32(x);\n if (number === 0) {\n return 32;\n }\n return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);\n },\n\n cosh: function cosh(value) {\n var x = Number(value);\n if (x === 0) { return 1; } // +0 or -0\n if (numberIsNaN(x)) { return NaN; }\n if (!globalIsFinite(x)) { return Infinity; }\n\n var t = _exp(_abs(x) - 1);\n return (t + (1 / (t * E * E))) * (E / 2);\n },\n\n expm1: function expm1(value) {\n var x = Number(value);\n if (x === -Infinity) { return -1; }\n if (!globalIsFinite(x) || x === 0) { return x; }\n if (_abs(x) > 0.5) {\n return _exp(x) - 1;\n }\n // A more precise approximation using Taylor series expansion\n // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986\n var t = x;\n var sum = 0;\n var n = 1;\n while (sum + t !== sum) {\n sum += t;\n n += 1;\n t *= x / n;\n }\n return sum;\n },\n\n hypot: function hypot(x, y) {\n var result = 0;\n var largest = 0;\n for (var i = 0; i < arguments.length; ++i) {\n var value = _abs(Number(arguments[i]));\n if (largest < value) {\n result *= (largest / value) * (largest / value);\n result += 1;\n largest = value;\n } else {\n result += value > 0 ? (value / largest) * (value / largest) : value;\n }\n }\n return largest === Infinity ? Infinity : largest * _sqrt(result);\n },\n\n log2: function log2(value) {\n return _log(value) * LOG2E;\n },\n\n log10: function log10(value) {\n return _log(value) * LOG10E;\n },\n\n log1p: _log1p,\n\n sign: _sign,\n\n sinh: function sinh(value) {\n var x = Number(value);\n if (!globalIsFinite(x) || x === 0) { return x; }\n\n var a = _abs(x);\n if (a < 1) {\n var u = Math.expm1(a);\n return _sign(x) * u * (1 + (1 / (u + 1))) / 2;\n }\n var t = _exp(a - 1);\n return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);\n },\n\n tanh: function tanh(value) {\n var x = Number(value);\n if (numberIsNaN(x) || x === 0) { return x; }\n // can exit early at +-20 as JS loses precision for true value at this integer\n if (x >= 20) { return 1; }\n if (x <= -20) { return -1; }\n\n return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));\n },\n\n trunc: function trunc(value) {\n var x = Number(value);\n return x < 0 ? -_floor(-x) : _floor(x);\n },\n\n imul: function imul(x, y) {\n // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n var a = ES.ToUint32(x);\n var b = ES.ToUint32(y);\n var ah = (a >>> 16) & 0xffff;\n var al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff;\n var bl = b & 0xffff;\n // the shift by 0 fixes the sign on the high part\n // the final |0 converts the unsigned value into a signed value\n return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;\n },\n\n fround: function fround(x) {\n var v = Number(x);\n if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {\n return v;\n }\n var sign = _sign(v);\n var abs = _abs(v);\n if (abs < BINARY_32_MIN_VALUE) {\n return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;\n }\n // Veltkamp's splitting (?)\n var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;\n var result = a - (a - abs);\n if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {\n return sign * Infinity;\n }\n return sign * result;\n }\n };\n\n var withinULPDistance = function withinULPDistance(result, expected, distance) {\n return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);\n };\n\n defineProperties(Math, MathShims);\n // Chrome < 40 sinh returns ∞ for large numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);\n // Chrome < 40 cosh returns ∞ for large numbers\n defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);\n // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0\n defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);\n // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));\n // Chrome < 54 asinh returns ∞ for large numbers and should not\n defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);\n // Chrome < 54 atanh incorrectly returns 0 for large numbers\n defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);\n // Chrome 40 has an imprecise Math.tanh with very small numbers\n defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);\n // Chrome 40 loses Math.acosh precision with high numbers\n defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);\n // Chrome < 54 has an inaccurate acosh for EPSILON deltas\n defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));\n // Firefox 38 on Windows\n defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));\n // node 0.11 has an imprecise Math.sinh with very small numbers\n defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);\n // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)\n var expm1OfTen = Math.expm1(10);\n defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);\n\n var origMathRound = Math.round;\n // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12\n var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0 &&\n Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;\n\n // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.\n // This behavior should be governed by \"round to nearest, ties to even mode\"\n // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type\n // These are the boundary cases where it breaks.\n var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;\n var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;\n var roundDoesNotIncreaseIntegers = [\n smallestPositiveNumberWhereRoundBreaks,\n largestPositiveNumberWhereRoundBreaks\n ].every(function (num) {\n return Math.round(num) === num;\n });\n defineProperty(Math, 'round', function round(x) {\n var floor = _floor(x);\n var ceil = floor === -1 ? -0 : floor + 1;\n return x - floor < 0.5 ? floor : ceil;\n }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers);\n Value.preserveToString(Math.round, origMathRound);\n\n var origImul = Math.imul;\n if (Math.imul(0xffffffff, 5) !== -5) {\n // Safari 6.1, at least, reports \"0\" for this value\n Math.imul = MathShims.imul;\n Value.preserveToString(Math.imul, origImul);\n }\n if (Math.imul.length !== 2) {\n // Safari 8.0.4 has a length of 1\n // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658\n overrideNative(Math, 'imul', function imul(x, y) {\n return ES.Call(origImul, Math, arguments);\n });\n }\n\n // Promises\n // Simplest possible implementation; use a 3rd-party library if you\n // want the best possible speed and/or long stack traces.\n var PromiseShim = (function () {\n var setTimeout = globals.setTimeout;\n // some environments don't have setTimeout - no way to shim here.\n if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; }\n\n ES.IsPromise = function (promise) {\n if (!ES.TypeIsObject(promise)) {\n return false;\n }\n if (typeof promise._promise === 'undefined') {\n return false; // uninitialized, or missing our hidden field.\n }\n return true;\n };\n\n // \"PromiseCapability\" in the spec is what most promise implementations\n // call a \"deferred\".\n var PromiseCapability = function (C) {\n if (!ES.IsConstructor(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = this;\n var resolver = function (resolve, reject) {\n if (capability.resolve !== void 0 || capability.reject !== void 0) {\n throw new TypeError('Bad Promise implementation!');\n }\n capability.resolve = resolve;\n capability.reject = reject;\n };\n // Initialize fields to inform optimizers about the object shape.\n capability.resolve = void 0;\n capability.reject = void 0;\n capability.promise = new C(resolver);\n if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {\n throw new TypeError('Bad promise constructor');\n }\n };\n\n // find an appropriate setImmediate-alike\n var makeZeroTimeout;\n /*global window */\n if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) {\n makeZeroTimeout = function () {\n // from http://dbaron.org/log/20100309-faster-timeouts\n var timeouts = [];\n var messageName = 'zero-timeout-message';\n var setZeroTimeout = function (fn) {\n _push(timeouts, fn);\n window.postMessage(messageName, '*');\n };\n var handleMessage = function (event) {\n if (event.source === window && event.data === messageName) {\n event.stopPropagation();\n if (timeouts.length === 0) { return; }\n var fn = _shift(timeouts);\n fn();\n }\n };\n window.addEventListener('message', handleMessage, true);\n return setZeroTimeout;\n };\n }\n var makePromiseAsap = function () {\n // An efficient task-scheduler based on a pre-existing Promise\n // implementation, which we can use even if we override the\n // global Promise below (in order to workaround bugs)\n // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671\n var P = globals.Promise;\n var pr = P && P.resolve && P.resolve();\n return pr && function (task) {\n return pr.then(task);\n };\n };\n /*global process */\n var enqueue = ES.IsCallable(globals.setImmediate) ?\n globals.setImmediate :\n typeof process === 'object' && process.nextTick ? process.nextTick : makePromiseAsap() ||\n (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); }); // fallback\n\n // Constants for Promise implementation\n var PROMISE_IDENTITY = function (x) { return x; };\n var PROMISE_THROWER = function (e) { throw e; };\n var PROMISE_PENDING = 0;\n var PROMISE_FULFILLED = 1;\n var PROMISE_REJECTED = 2;\n // We store fulfill/reject handlers and capabilities in a single array.\n var PROMISE_FULFILL_OFFSET = 0;\n var PROMISE_REJECT_OFFSET = 1;\n var PROMISE_CAPABILITY_OFFSET = 2;\n // This is used in an optimization for chaining promises via then.\n var PROMISE_FAKE_CAPABILITY = {};\n\n var enqueuePromiseReactionJob = function (handler, capability, argument) {\n enqueue(function () {\n promiseReactionJob(handler, capability, argument);\n });\n };\n\n var promiseReactionJob = function (handler, promiseCapability, argument) {\n var handlerResult, f;\n if (promiseCapability === PROMISE_FAKE_CAPABILITY) {\n // Fast case, when we don't actually need to chain through to a\n // (real) promiseCapability.\n return handler(argument);\n }\n try {\n handlerResult = handler(argument);\n f = promiseCapability.resolve;\n } catch (e) {\n handlerResult = e;\n f = promiseCapability.reject;\n }\n f(handlerResult);\n };\n\n var fulfillPromise = function (promise, value) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.fulfillReactionHandler0,\n _promise.reactionCapability0,\n value\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_FULFILL_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n value\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = value;\n _promise.state = PROMISE_FULFILLED;\n _promise.reactionLength = 0;\n };\n\n var rejectPromise = function (promise, reason) {\n var _promise = promise._promise;\n var length = _promise.reactionLength;\n if (length > 0) {\n enqueuePromiseReactionJob(\n _promise.rejectReactionHandler0,\n _promise.reactionCapability0,\n reason\n );\n _promise.fulfillReactionHandler0 = void 0;\n _promise.rejectReactions0 = void 0;\n _promise.reactionCapability0 = void 0;\n if (length > 1) {\n for (var i = 1, idx = 0; i < length; i++, idx += 3) {\n enqueuePromiseReactionJob(\n _promise[idx + PROMISE_REJECT_OFFSET],\n _promise[idx + PROMISE_CAPABILITY_OFFSET],\n reason\n );\n promise[idx + PROMISE_FULFILL_OFFSET] = void 0;\n promise[idx + PROMISE_REJECT_OFFSET] = void 0;\n promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;\n }\n }\n }\n _promise.result = reason;\n _promise.state = PROMISE_REJECTED;\n _promise.reactionLength = 0;\n };\n\n var createResolvingFunctions = function (promise) {\n var alreadyResolved = false;\n var resolve = function (resolution) {\n var then;\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n if (resolution === promise) {\n return rejectPromise(promise, new TypeError('Self resolution'));\n }\n if (!ES.TypeIsObject(resolution)) {\n return fulfillPromise(promise, resolution);\n }\n try {\n then = resolution.then;\n } catch (e) {\n return rejectPromise(promise, e);\n }\n if (!ES.IsCallable(then)) {\n return fulfillPromise(promise, resolution);\n }\n enqueue(function () {\n promiseResolveThenableJob(promise, resolution, then);\n });\n };\n var reject = function (reason) {\n if (alreadyResolved) { return; }\n alreadyResolved = true;\n return rejectPromise(promise, reason);\n };\n return { resolve: resolve, reject: reject };\n };\n\n var optimizedThen = function (then, thenable, resolve, reject) {\n // Optimization: since we discard the result, we can pass our\n // own then implementation a special hint to let it know it\n // doesn't have to create it. (The PROMISE_FAKE_CAPABILITY\n // object is local to this implementation and unforgeable outside.)\n if (then === Promise$prototype$then) {\n _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);\n } else {\n _call(then, thenable, resolve, reject);\n }\n };\n var promiseResolveThenableJob = function (promise, thenable, then) {\n var resolvingFunctions = createResolvingFunctions(promise);\n var resolve = resolvingFunctions.resolve;\n var reject = resolvingFunctions.reject;\n try {\n optimizedThen(then, thenable, resolve, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n var Promise$prototype, Promise$prototype$then;\n var Promise = (function () {\n var PromiseShim = function Promise(resolver) {\n if (!(this instanceof PromiseShim)) {\n throw new TypeError('Constructor Promise requires \"new\"');\n }\n if (this && this._promise) {\n throw new TypeError('Bad construction');\n }\n // see https://bugs.ecmascript.org/show_bug.cgi?id=2482\n if (!ES.IsCallable(resolver)) {\n throw new TypeError('not a valid resolver');\n }\n var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {\n _promise: {\n result: void 0,\n state: PROMISE_PENDING,\n // The first member of the \"reactions\" array is inlined here,\n // since most promises only have one reaction.\n // We've also exploded the 'reaction' object to inline the\n // \"handler\" and \"capability\" fields, since both fulfill and\n // reject reactions share the same capability.\n reactionLength: 0,\n fulfillReactionHandler0: void 0,\n rejectReactionHandler0: void 0,\n reactionCapability0: void 0\n }\n });\n var resolvingFunctions = createResolvingFunctions(promise);\n var reject = resolvingFunctions.reject;\n try {\n resolver(resolvingFunctions.resolve, reject);\n } catch (e) {\n reject(e);\n }\n return promise;\n };\n return PromiseShim;\n }());\n Promise$prototype = Promise.prototype;\n\n var _promiseAllResolver = function (index, values, capability, remaining) {\n var alreadyCalled = false;\n return function (x) {\n if (alreadyCalled) { return; }\n alreadyCalled = true;\n values[index] = x;\n if ((--remaining.count) === 0) {\n var resolve = capability.resolve;\n resolve(values); // call w/ this===undefined\n }\n };\n };\n\n var performPromiseAll = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var values = [];\n var remaining = { count: 1 };\n var next, nextValue;\n var index = 0;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n values[index] = void 0;\n var nextPromise = C.resolve(nextValue);\n var resolveElement = _promiseAllResolver(\n index,\n values,\n resultCapability,\n remaining\n );\n remaining.count += 1;\n optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);\n index += 1;\n }\n if ((--remaining.count) === 0) {\n var resolve = resultCapability.resolve;\n resolve(values); // call w/ this===undefined\n }\n return resultCapability.promise;\n };\n\n var performPromiseRace = function (iteratorRecord, C, resultCapability) {\n var it = iteratorRecord.iterator;\n var next, nextValue, nextPromise;\n while (true) {\n try {\n next = ES.IteratorStep(it);\n if (next === false) {\n // NOTE: If iterable has no items, resulting promise will never\n // resolve; see:\n // https://github.com/domenic/promises-unwrapping/issues/75\n // https://bugs.ecmascript.org/show_bug.cgi?id=2515\n iteratorRecord.done = true;\n break;\n }\n nextValue = next.value;\n } catch (e) {\n iteratorRecord.done = true;\n throw e;\n }\n nextPromise = C.resolve(nextValue);\n optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);\n }\n return resultCapability.promise;\n };\n\n defineProperties(Promise, {\n all: function all(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseAll(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n race: function race(iterable) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Promise is not object');\n }\n var capability = new PromiseCapability(C);\n var iterator, iteratorRecord;\n try {\n iterator = ES.GetIterator(iterable);\n iteratorRecord = { iterator: iterator, done: false };\n return performPromiseRace(iteratorRecord, C, capability);\n } catch (e) {\n var exception = e;\n if (iteratorRecord && !iteratorRecord.done) {\n try {\n ES.IteratorClose(iterator, true);\n } catch (ee) {\n exception = ee;\n }\n }\n var reject = capability.reject;\n reject(exception);\n return capability.promise;\n }\n },\n\n reject: function reject(reason) {\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n var capability = new PromiseCapability(C);\n var rejectFunc = capability.reject;\n rejectFunc(reason); // call with this===undefined\n return capability.promise;\n },\n\n resolve: function resolve(v) {\n // See https://esdiscuss.org/topic/fixing-promise-resolve for spec\n var C = this;\n if (!ES.TypeIsObject(C)) {\n throw new TypeError('Bad promise constructor');\n }\n if (ES.IsPromise(v)) {\n var constructor = v.constructor;\n if (constructor === C) {\n return v;\n }\n }\n var capability = new PromiseCapability(C);\n var resolveFunc = capability.resolve;\n resolveFunc(v); // call with this===undefined\n return capability.promise;\n }\n });\n\n defineProperties(Promise$prototype, {\n 'catch': function (onRejected) {\n return this.then(null, onRejected);\n },\n\n then: function then(onFulfilled, onRejected) {\n var promise = this;\n if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); }\n var C = ES.SpeciesConstructor(promise, Promise);\n var resultCapability;\n var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;\n if (returnValueIsIgnored && C === Promise) {\n resultCapability = PROMISE_FAKE_CAPABILITY;\n } else {\n resultCapability = new PromiseCapability(C);\n }\n // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)\n // Note that we've split the 'reaction' object into its two\n // components, \"capabilities\" and \"handler\"\n // \"capabilities\" is always equal to `resultCapability`\n var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;\n var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;\n var _promise = promise._promise;\n var value;\n if (_promise.state === PROMISE_PENDING) {\n if (_promise.reactionLength === 0) {\n _promise.fulfillReactionHandler0 = fulfillReactionHandler;\n _promise.rejectReactionHandler0 = rejectReactionHandler;\n _promise.reactionCapability0 = resultCapability;\n } else {\n var idx = 3 * (_promise.reactionLength - 1);\n _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;\n _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;\n _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;\n }\n _promise.reactionLength += 1;\n } else if (_promise.state === PROMISE_FULFILLED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n fulfillReactionHandler,\n resultCapability,\n value\n );\n } else if (_promise.state === PROMISE_REJECTED) {\n value = _promise.result;\n enqueuePromiseReactionJob(\n rejectReactionHandler,\n resultCapability,\n value\n );\n } else {\n throw new TypeError('unexpected Promise state');\n }\n return resultCapability.promise;\n }\n });\n // This helps the optimizer by ensuring that methods which take\n // capabilities aren't polymorphic.\n PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);\n Promise$prototype$then = Promise$prototype.then;\n\n return Promise;\n }());\n\n // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.\n if (globals.Promise) {\n delete globals.Promise.accept;\n delete globals.Promise.defer;\n delete globals.Promise.prototype.chain;\n }\n\n if (typeof PromiseShim === 'function') {\n // export the Promise constructor.\n defineProperties(globals, { Promise: PromiseShim });\n // In Chrome 33 (and thereabouts) Promise is defined, but the\n // implementation is buggy in a number of ways. Let's check subclassing\n // support to see if we have a buggy implementation.\n var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {\n return S.resolve(42).then(function () {}) instanceof S;\n });\n var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {\n return globals.Promise.reject(42).then(null, 5).then(null, noop);\n });\n var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });\n // Promise.resolve() was errata'ed late in the ES6 process.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742\n // https://code.google.com/p/v8/issues/detail?id=4161\n // It serves as a proxy for a number of other bugs in early Promise\n // implementations.\n var promiseResolveBroken = (function (Promise) {\n var p = Promise.resolve(5);\n p.constructor = {};\n var p2 = Promise.resolve(p);\n try {\n p2.then(null, noop).then(null, noop); // avoid \"uncaught rejection\" warnings in console\n } catch (e) {\n return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314\n }\n return p === p2; // This *should* be false!\n }(globals.Promise));\n\n // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously\n var getsThenSynchronously = supportsDescriptors && (function () {\n var count = 0;\n // eslint-disable-next-line getter-return\n var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });\n Promise.resolve(thenable);\n return count === 1;\n }());\n\n var BadResolverPromise = function BadResolverPromise(executor) {\n var p = new Promise(executor);\n executor(3, function () {});\n this.then = p.then;\n this.constructor = BadResolverPromise;\n };\n BadResolverPromise.prototype = Promise.prototype;\n BadResolverPromise.all = Promise.all;\n // Chrome Canary 49 (probably older too) has some implementation bugs\n var hasBadResolverPromise = valueOrFalseIfThrows(function () {\n return !!BadResolverPromise.all([1, 2]);\n });\n\n if (!promiseSupportsSubclassing || !promiseIgnoresNonFunctionThenCallbacks ||\n !promiseRequiresObjectContext || promiseResolveBroken ||\n !getsThenSynchronously || hasBadResolverPromise) {\n /* globals Promise: true */\n /* eslint-disable no-undef, no-global-assign */\n Promise = PromiseShim;\n /* eslint-enable no-undef, no-global-assign */\n /* globals Promise: false */\n overrideNative(globals, 'Promise', PromiseShim);\n }\n if (Promise.all.length !== 1) {\n var origAll = Promise.all;\n overrideNative(Promise, 'all', function all(iterable) {\n return ES.Call(origAll, this, arguments);\n });\n }\n if (Promise.race.length !== 1) {\n var origRace = Promise.race;\n overrideNative(Promise, 'race', function race(iterable) {\n return ES.Call(origRace, this, arguments);\n });\n }\n if (Promise.resolve.length !== 1) {\n var origResolve = Promise.resolve;\n overrideNative(Promise, 'resolve', function resolve(x) {\n return ES.Call(origResolve, this, arguments);\n });\n }\n if (Promise.reject.length !== 1) {\n var origReject = Promise.reject;\n overrideNative(Promise, 'reject', function reject(r) {\n return ES.Call(origReject, this, arguments);\n });\n }\n ensureEnumerable(Promise, 'all');\n ensureEnumerable(Promise, 'race');\n ensureEnumerable(Promise, 'resolve');\n ensureEnumerable(Promise, 'reject');\n addDefaultSpecies(Promise);\n }\n\n // Map and Set require a true ES5 environment\n // Their fast path also requires that the environment preserve\n // property insertion order, which is not guaranteed by the spec.\n var testOrder = function (a) {\n var b = keys(_reduce(a, function (o, k) {\n o[k] = true;\n return o;\n }, {}));\n return a.join(':') === b.join(':');\n };\n var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);\n // some engines (eg, Chrome) only preserve insertion order for string keys\n var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);\n\n if (supportsDescriptors) {\n\n var fastkey = function fastkey(key, skipInsertionOrderCheck) {\n if (!skipInsertionOrderCheck && !preservesInsertionOrder) {\n return null;\n }\n if (isNullOrUndefined(key)) {\n return '^' + ES.ToString(key);\n } else if (typeof key === 'string') {\n return '$' + key;\n } else if (typeof key === 'number') {\n // note that -0 will get coerced to \"0\" when used as a property key\n if (!preservesNumericInsertionOrder) {\n return 'n' + key;\n }\n return key;\n } else if (typeof key === 'boolean') {\n return 'b' + key;\n }\n return null;\n };\n\n var emptyObject = function emptyObject() {\n // accomodate some older not-quite-ES5 browsers\n return Object.create ? Object.create(null) : {};\n };\n\n var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (entry) {\n if (!ES.TypeIsObject(entry)) {\n throw new TypeError('Iterator value ' + entry + ' is not an entry object');\n }\n map.set(entry[0], entry[1]);\n });\n } else if (iterable instanceof MapConstructor) {\n _call(MapConstructor.prototype.forEach, iterable, function (value, key) {\n map.set(key, value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = map.set;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextItem = next.value;\n try {\n if (!ES.TypeIsObject(nextItem)) {\n throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');\n }\n _call(adder, map, nextItem[0], nextItem[1]);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) {\n if (isArray(iterable) || Type.string(iterable)) {\n _forEach(iterable, function (value) {\n set.add(value);\n });\n } else if (iterable instanceof SetConstructor) {\n _call(SetConstructor.prototype.forEach, iterable, function (value) {\n set.add(value);\n });\n } else {\n var iter, adder;\n if (!isNullOrUndefined(iterable)) {\n adder = set.add;\n if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }\n iter = ES.GetIterator(iterable);\n }\n if (typeof iter !== 'undefined') {\n while (true) {\n var next = ES.IteratorStep(iter);\n if (next === false) { break; }\n var nextValue = next.value;\n try {\n _call(adder, set, nextValue);\n } catch (e) {\n ES.IteratorClose(iter, true);\n throw e;\n }\n }\n }\n }\n };\n\n var collectionShims = {\n Map: (function () {\n\n var empty = {};\n\n var MapEntry = function MapEntry(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n };\n\n MapEntry.prototype.isRemoved = function isRemoved() {\n return this.key === empty;\n };\n\n var isMap = function isMap(map) {\n return !!map._es6map;\n };\n\n var requireMapSlot = function requireMapSlot(map, method) {\n if (!ES.TypeIsObject(map) || !isMap(map)) {\n throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));\n }\n };\n\n var MapIterator = function MapIterator(map, kind) {\n requireMapSlot(map, '[[MapIterator]]');\n this.head = map._head;\n this.i = this.head;\n this.kind = kind;\n };\n\n MapIterator.prototype = {\n isMapIterator: true,\n next: function next() {\n if (!this.isMapIterator) {\n throw new TypeError('Not a MapIterator');\n }\n var i = this.i;\n var kind = this.kind;\n var head = this.head;\n if (typeof this.i === 'undefined') {\n return iteratorResult();\n }\n while (i.isRemoved() && i !== head) {\n // back up off of removed entries\n i = i.prev;\n }\n // advance to next unreturned element.\n var result;\n while (i.next !== head) {\n i = i.next;\n if (!i.isRemoved()) {\n if (kind === 'key') {\n result = i.key;\n } else if (kind === 'value') {\n result = i.value;\n } else {\n result = [i.key, i.value];\n }\n this.i = i;\n return iteratorResult(result);\n }\n }\n // once the iterator is done, it is done forever.\n this.i = void 0;\n return iteratorResult();\n }\n };\n addIterator(MapIterator.prototype);\n\n var Map$prototype;\n var MapShim = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n if (this && this._es6map) {\n throw new TypeError('Bad construction');\n }\n var map = emulateES6construct(this, Map, Map$prototype, {\n _es6map: true,\n _head: null,\n _map: OrigMap ? new OrigMap() : null,\n _size: 0,\n _storage: emptyObject()\n });\n\n var head = new MapEntry(null, null);\n // circular doubly-linked list.\n /* eslint no-multi-assign: 1 */\n head.next = head.prev = head;\n map._head = head;\n\n // Optionally initialize map from iterable\n if (arguments.length > 0) {\n addIterableToMap(Map, map, arguments[0]);\n }\n return map;\n };\n Map$prototype = MapShim.prototype;\n\n Value.getter(Map$prototype, 'size', function () {\n if (typeof this._size === 'undefined') {\n throw new TypeError('size method called on incompatible Map');\n }\n return this._size;\n });\n\n defineProperties(Map$prototype, {\n get: function get(key) {\n requireMapSlot(this, 'get');\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n entry = this._storage[fkey];\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n if (this._map) {\n // fast object key path\n entry = origMapGet.call(this._map, key);\n if (entry) {\n return entry.value;\n } else {\n return;\n }\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return i.value;\n }\n }\n },\n\n has: function has(key) {\n requireMapSlot(this, 'has');\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n return typeof this._storage[fkey] !== 'undefined';\n }\n if (this._map) {\n // fast object key path\n return origMapHas.call(this._map, key);\n }\n var head = this._head;\n var i = head;\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n return true;\n }\n }\n return false;\n },\n\n set: function set(key, value) {\n requireMapSlot(this, 'set');\n var head = this._head;\n var i = head;\n var entry;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] !== 'undefined') {\n this._storage[fkey].value = value;\n return this;\n } else {\n entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */\n i = head.prev;\n // fall through\n }\n } else if (this._map) {\n // fast object key path\n if (origMapHas.call(this._map, key)) {\n origMapGet.call(this._map, key).value = value;\n } else {\n entry = new MapEntry(key, value);\n origMapSet.call(this._map, key, entry);\n i = head.prev;\n // fall through\n }\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.value = value;\n return this;\n }\n }\n entry = entry || new MapEntry(key, value);\n if (ES.SameValue(-0, key)) {\n entry.key = +0; // coerce -0 to +0 in entry\n }\n entry.next = this._head;\n entry.prev = this._head.prev;\n entry.prev.next = entry;\n entry.next.prev = entry;\n this._size += 1;\n return this;\n },\n\n 'delete': function (key) {\n requireMapSlot(this, 'delete');\n var head = this._head;\n var i = head;\n var fkey = fastkey(key, true);\n if (fkey !== null) {\n // fast O(1) path\n if (typeof this._storage[fkey] === 'undefined') {\n return false;\n }\n i = this._storage[fkey].prev;\n delete this._storage[fkey];\n // fall through\n } else if (this._map) {\n // fast object key path\n if (!origMapHas.call(this._map, key)) {\n return false;\n }\n i = origMapGet.call(this._map, key).prev;\n origMapDelete.call(this._map, key);\n // fall through\n }\n while ((i = i.next) !== head) {\n if (ES.SameValueZero(i.key, key)) {\n i.key = empty;\n i.value = empty;\n i.prev.next = i.next;\n i.next.prev = i.prev;\n this._size -= 1;\n return true;\n }\n }\n return false;\n },\n\n clear: function clear() {\n /* eslint no-multi-assign: 1 */\n requireMapSlot(this, 'clear');\n this._map = OrigMap ? new OrigMap() : null;\n this._size = 0;\n this._storage = emptyObject();\n var head = this._head;\n var i = head;\n var p = i.next;\n while ((i = p) !== head) {\n i.key = empty;\n i.value = empty;\n p = i.next;\n i.next = i.prev = head;\n }\n head.next = head.prev = head;\n },\n\n keys: function keys() {\n requireMapSlot(this, 'keys');\n return new MapIterator(this, 'key');\n },\n\n values: function values() {\n requireMapSlot(this, 'values');\n return new MapIterator(this, 'value');\n },\n\n entries: function entries() {\n requireMapSlot(this, 'entries');\n return new MapIterator(this, 'key+value');\n },\n\n forEach: function forEach(callback) {\n requireMapSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var it = this.entries();\n for (var entry = it.next(); !entry.done; entry = it.next()) {\n if (context) {\n _call(callback, context, entry.value[1], entry.value[0], this);\n } else {\n callback(entry.value[1], entry.value[0], this);\n }\n }\n }\n });\n addIterator(Map$prototype, Map$prototype.entries);\n\n return MapShim;\n }()),\n\n Set: (function () {\n var isSet = function isSet(set) {\n return set._es6set && typeof set._storage !== 'undefined';\n };\n var requireSetSlot = function requireSetSlot(set, method) {\n if (!ES.TypeIsObject(set) || !isSet(set)) {\n // https://github.com/paulmillr/es6-shim/issues/176\n throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));\n }\n };\n\n // Creating a Map is expensive. To speed up the common case of\n // Sets containing only string or numeric keys, we use an object\n // as backing storage and lazily create a full Map only when\n // required.\n var Set$prototype;\n var SetShim = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n if (this && this._es6set) {\n throw new TypeError('Bad construction');\n }\n var set = emulateES6construct(this, Set, Set$prototype, {\n _es6set: true,\n '[[SetData]]': null,\n _storage: emptyObject()\n });\n if (!set._es6set) {\n throw new TypeError('bad set');\n }\n\n // Optionally initialize Set from iterable\n if (arguments.length > 0) {\n addIterableToSet(Set, set, arguments[0]);\n }\n return set;\n };\n Set$prototype = SetShim.prototype;\n\n var decodeKey = function (key) {\n var k = key;\n if (k === '^null') {\n return null;\n } else if (k === '^undefined') {\n return void 0;\n } else {\n var first = k.charAt(0);\n if (first === '$') {\n return _strSlice(k, 1);\n } else if (first === 'n') {\n return +_strSlice(k, 1);\n } else if (first === 'b') {\n return k === 'btrue';\n }\n }\n return +k;\n };\n // Switch from the object backing storage to a full Map.\n var ensureMap = function ensureMap(set) {\n if (!set['[[SetData]]']) {\n var m = new collectionShims.Map();\n set['[[SetData]]'] = m;\n _forEach(keys(set._storage), function (key) {\n var k = decodeKey(key);\n m.set(k, k);\n });\n set['[[SetData]]'] = m;\n }\n set._storage = null; // free old backing storage\n };\n\n Value.getter(SetShim.prototype, 'size', function () {\n requireSetSlot(this, 'size');\n if (this._storage) {\n return keys(this._storage).length;\n }\n ensureMap(this);\n return this['[[SetData]]'].size;\n });\n\n defineProperties(SetShim.prototype, {\n has: function has(key) {\n requireSetSlot(this, 'has');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n return !!this._storage[fkey];\n }\n ensureMap(this);\n return this['[[SetData]]'].has(key);\n },\n\n add: function add(key) {\n requireSetSlot(this, 'add');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n this._storage[fkey] = true;\n return this;\n }\n ensureMap(this);\n this['[[SetData]]'].set(key, key);\n return this;\n },\n\n 'delete': function (key) {\n requireSetSlot(this, 'delete');\n var fkey;\n if (this._storage && (fkey = fastkey(key)) !== null) {\n var hasFKey = _hasOwnProperty(this._storage, fkey);\n return (delete this._storage[fkey]) && hasFKey;\n }\n ensureMap(this);\n return this['[[SetData]]']['delete'](key);\n },\n\n clear: function clear() {\n requireSetSlot(this, 'clear');\n if (this._storage) {\n this._storage = emptyObject();\n }\n if (this['[[SetData]]']) {\n this['[[SetData]]'].clear();\n }\n },\n\n values: function values() {\n requireSetSlot(this, 'values');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].values());\n },\n\n entries: function entries() {\n requireSetSlot(this, 'entries');\n ensureMap(this);\n return new SetIterator(this['[[SetData]]'].entries());\n },\n\n forEach: function forEach(callback) {\n requireSetSlot(this, 'forEach');\n var context = arguments.length > 1 ? arguments[1] : null;\n var entireSet = this;\n ensureMap(entireSet);\n this['[[SetData]]'].forEach(function (value, key) {\n if (context) {\n _call(callback, context, key, key, entireSet);\n } else {\n callback(key, key, entireSet);\n }\n });\n }\n });\n defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);\n addIterator(SetShim.prototype, SetShim.prototype.values);\n\n var SetIterator = function SetIterator(it) {\n this.it = it;\n };\n SetIterator.prototype = {\n isSetIterator: true,\n next: function next() {\n if (!this.isSetIterator) {\n throw new TypeError('Not a SetIterator');\n }\n return this.it.next();\n }\n };\n addIterator(SetIterator.prototype);\n\n return SetShim;\n }())\n };\n\n var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys);\n if (isGoogleTranslate) {\n // special-case force removal of wildly invalid Set implementation in Google Translate iframes\n // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904\n globals.Set = collectionShims.Set;\n }\n if (globals.Map || globals.Set) {\n // Safari 8, for example, doesn't accept an iterable.\n var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });\n if (!mapAcceptsArguments) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, globals.Map.prototype);\n return m;\n };\n globals.Map.prototype = create(OrigMap.prototype);\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var testMap = new Map();\n var mapUsesSameValueZero = (function () {\n // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4\n var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);\n m.set(-0, m);\n return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);\n }());\n var mapSupportsChaining = testMap.set(1, 2) === testMap;\n if (!mapUsesSameValueZero || !mapSupportsChaining) {\n overrideNative(Map.prototype, 'set', function set(k, v) {\n _call(origMapSet, this, k === 0 ? 0 : k, v);\n return this;\n });\n }\n if (!mapUsesSameValueZero) {\n defineProperties(Map.prototype, {\n get: function get(k) {\n return _call(origMapGet, this, k === 0 ? 0 : k);\n },\n has: function has(k) {\n return _call(origMapHas, this, k === 0 ? 0 : k);\n }\n }, true);\n Value.preserveToString(Map.prototype.get, origMapGet);\n Value.preserveToString(Map.prototype.has, origMapHas);\n }\n var testSet = new Set();\n var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {\n s['delete'](0);\n s.add(-0);\n return !s.has(0);\n }(testSet));\n var setSupportsChaining = testSet.add(1) === testSet;\n if (!setUsesSameValueZero || !setSupportsChaining) {\n var origSetAdd = Set.prototype.add;\n Set.prototype.add = function add(v) {\n _call(origSetAdd, this, v === 0 ? 0 : v);\n return this;\n };\n Value.preserveToString(Set.prototype.add, origSetAdd);\n }\n if (!setUsesSameValueZero) {\n var origSetHas = Set.prototype.has;\n Set.prototype.has = function has(v) {\n return _call(origSetHas, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype.has, origSetHas);\n var origSetDel = Set.prototype['delete'];\n Set.prototype['delete'] = function SetDelete(v) {\n return _call(origSetDel, this, v === 0 ? 0 : v);\n };\n Value.preserveToString(Set.prototype['delete'], origSetDel);\n }\n var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {\n var m = new M([]);\n // Firefox 32 is ok with the instantiating the subclass but will\n // throw when the map is used.\n m.set(42, 42);\n return m instanceof M;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;\n var mapRequiresNew = (function () {\n try {\n return !(globals.Map() instanceof globals.Map);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {\n globals.Map = function Map() {\n if (!(this instanceof Map)) {\n throw new TypeError('Constructor Map requires \"new\"');\n }\n var m = new OrigMap();\n if (arguments.length > 0) {\n addIterableToMap(Map, m, arguments[0]);\n }\n delete m.constructor;\n Object.setPrototypeOf(m, Map.prototype);\n return m;\n };\n globals.Map.prototype = OrigMap.prototype;\n defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);\n Value.preserveToString(globals.Map, OrigMap);\n }\n var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {\n var s = new S([]);\n s.add(42, 42);\n return s instanceof S;\n });\n // without Object.setPrototypeOf, subclassing is not possible\n var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;\n var setRequiresNew = (function () {\n try {\n return !(globals.Set() instanceof globals.Set);\n } catch (e) {\n return e instanceof TypeError;\n }\n }());\n if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {\n var OrigSet = globals.Set;\n globals.Set = function Set() {\n if (!(this instanceof Set)) {\n throw new TypeError('Constructor Set requires \"new\"');\n }\n var s = new OrigSet();\n if (arguments.length > 0) {\n addIterableToSet(Set, s, arguments[0]);\n }\n delete s.constructor;\n Object.setPrototypeOf(s, Set.prototype);\n return s;\n };\n globals.Set.prototype = OrigSet.prototype;\n defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);\n Value.preserveToString(globals.Set, OrigSet);\n }\n var newMap = new globals.Map();\n var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {\n return newMap.keys().next().done;\n });\n /*\n - In Firefox < 23, Map#size is a function.\n - In all current Firefox, Set#entries/keys/values & Map#clear do not exist\n - https://bugzilla.mozilla.org/show_bug.cgi?id=869996\n - In Firefox 24, Map and Set do not implement forEach\n - In Firefox 25 at least, Map and Set are callable without \"new\"\n */\n if (\n typeof globals.Map.prototype.clear !== 'function' ||\n new globals.Set().size !== 0 ||\n newMap.size !== 0 ||\n typeof globals.Map.prototype.keys !== 'function' ||\n typeof globals.Set.prototype.keys !== 'function' ||\n typeof globals.Map.prototype.forEach !== 'function' ||\n typeof globals.Set.prototype.forEach !== 'function' ||\n isCallableWithoutNew(globals.Map) ||\n isCallableWithoutNew(globals.Set) ||\n typeof newMap.keys().next !== 'function' || // Safari 8\n mapIterationThrowsStopIterator || // Firefox 25\n !mapSupportsSubclassing\n ) {\n defineProperties(globals, {\n Map: collectionShims.Map,\n Set: collectionShims.Set\n }, true);\n }\n\n if (globals.Set.prototype.keys !== globals.Set.prototype.values) {\n // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190\n defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);\n }\n\n // Shim incomplete iterator implementations.\n addIterator(Object.getPrototypeOf((new globals.Map()).keys()));\n addIterator(Object.getPrototypeOf((new globals.Set()).keys()));\n\n if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {\n // Microsoft Edge v0.11.10074.0 is missing a name on Set#has\n var anonymousSetHas = globals.Set.prototype.has;\n overrideNative(globals.Set.prototype, 'has', function has(key) {\n return _call(anonymousSetHas, this, key);\n });\n }\n }\n defineProperties(globals, collectionShims);\n addDefaultSpecies(globals.Map);\n addDefaultSpecies(globals.Set);\n }\n\n var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {\n if (!ES.TypeIsObject(target)) {\n throw new TypeError('target must be an object');\n }\n };\n\n // Some Reflect methods are basically the same as\n // those on the Object global, except that a TypeError is thrown if\n // target isn't an object. As well as returning a boolean indicating\n // the success of the operation.\n var ReflectShims = {\n // Apply method in a functional form.\n apply: function apply() {\n return ES.Call(ES.Call, null, arguments);\n },\n\n // New operator in a functional form.\n construct: function construct(constructor, args) {\n if (!ES.IsConstructor(constructor)) {\n throw new TypeError('First argument must be a constructor.');\n }\n var newTarget = arguments.length > 2 ? arguments[2] : constructor;\n if (!ES.IsConstructor(newTarget)) {\n throw new TypeError('new.target must be a constructor.');\n }\n return ES.Construct(constructor, args, newTarget, 'internal');\n },\n\n // When deleting a non-existent or configurable property,\n // true is returned.\n // When attempting to delete a non-configurable property,\n // it will return false.\n deleteProperty: function deleteProperty(target, key) {\n throwUnlessTargetIsObject(target);\n if (supportsDescriptors) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (desc && !desc.configurable) {\n return false;\n }\n }\n\n // Will return true.\n return delete target[key];\n },\n\n has: function has(target, key) {\n throwUnlessTargetIsObject(target);\n return key in target;\n }\n };\n\n if (Object.getOwnPropertyNames) {\n Object.assign(ReflectShims, {\n // Basically the result of calling the internal [[OwnPropertyKeys]].\n // Concatenating propertyNames and propertySymbols should do the trick.\n // This should continue to work together with a Symbol shim\n // which overrides Object.getOwnPropertyNames and implements\n // Object.getOwnPropertySymbols.\n ownKeys: function ownKeys(target) {\n throwUnlessTargetIsObject(target);\n var keys = Object.getOwnPropertyNames(target);\n\n if (ES.IsCallable(Object.getOwnPropertySymbols)) {\n _pushApply(keys, Object.getOwnPropertySymbols(target));\n }\n\n return keys;\n }\n });\n }\n\n var callAndCatchException = function ConvertExceptionToBoolean(func) {\n return !throwsError(func);\n };\n\n if (Object.preventExtensions) {\n Object.assign(ReflectShims, {\n isExtensible: function isExtensible(target) {\n throwUnlessTargetIsObject(target);\n return Object.isExtensible(target);\n },\n preventExtensions: function preventExtensions(target) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.preventExtensions(target);\n });\n }\n });\n }\n\n if (supportsDescriptors) {\n var internalGet = function get(target, key, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent === null) {\n return void 0;\n }\n\n return internalGet(parent, key, receiver);\n }\n\n if ('value' in desc) {\n return desc.value;\n }\n\n if (desc.get) {\n return ES.Call(desc.get, receiver);\n }\n\n return void 0;\n };\n\n var internalSet = function set(target, key, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(target, key);\n\n if (!desc) {\n var parent = Object.getPrototypeOf(target);\n\n if (parent !== null) {\n return internalSet(parent, key, value, receiver);\n }\n\n desc = {\n value: void 0,\n writable: true,\n enumerable: true,\n configurable: true\n };\n }\n\n if ('value' in desc) {\n if (!desc.writable) {\n return false;\n }\n\n if (!ES.TypeIsObject(receiver)) {\n return false;\n }\n\n var existingDesc = Object.getOwnPropertyDescriptor(receiver, key);\n\n if (existingDesc) {\n return Reflect.defineProperty(receiver, key, {\n value: value\n });\n } else {\n return Reflect.defineProperty(receiver, key, {\n value: value,\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (desc.set) {\n _call(desc.set, receiver, value);\n return true;\n }\n\n return false;\n };\n\n Object.assign(ReflectShims, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n throwUnlessTargetIsObject(target);\n return callAndCatchException(function () {\n return Object.defineProperty(target, propertyKey, attributes);\n });\n },\n\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n throwUnlessTargetIsObject(target);\n return Object.getOwnPropertyDescriptor(target, propertyKey);\n },\n\n // Syntax in a functional form.\n get: function get(target, key) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 2 ? arguments[2] : target;\n\n return internalGet(target, key, receiver);\n },\n\n set: function set(target, key, value) {\n throwUnlessTargetIsObject(target);\n var receiver = arguments.length > 3 ? arguments[3] : target;\n\n return internalSet(target, key, value, receiver);\n }\n });\n }\n\n if (Object.getPrototypeOf) {\n var objectDotGetPrototypeOf = Object.getPrototypeOf;\n ReflectShims.getPrototypeOf = function getPrototypeOf(target) {\n throwUnlessTargetIsObject(target);\n return objectDotGetPrototypeOf(target);\n };\n }\n\n if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {\n var willCreateCircularPrototype = function (object, lastProto) {\n var proto = lastProto;\n while (proto) {\n if (object === proto) {\n return true;\n }\n proto = ReflectShims.getPrototypeOf(proto);\n }\n return false;\n };\n\n Object.assign(ReflectShims, {\n // Sets the prototype of the given object.\n // Returns true on success, otherwise false.\n setPrototypeOf: function setPrototypeOf(object, proto) {\n throwUnlessTargetIsObject(object);\n if (proto !== null && !ES.TypeIsObject(proto)) {\n throw new TypeError('proto must be an object or null');\n }\n\n // If they already are the same, we're done.\n if (proto === Reflect.getPrototypeOf(object)) {\n return true;\n }\n\n // Cannot alter prototype if object not extensible.\n if (Reflect.isExtensible && !Reflect.isExtensible(object)) {\n return false;\n }\n\n // Ensure that we do not create a circular prototype chain.\n if (willCreateCircularPrototype(object, proto)) {\n return false;\n }\n\n Object.setPrototypeOf(object, proto);\n\n return true;\n }\n });\n }\n var defineOrOverrideReflectProperty = function (key, shim) {\n if (!ES.IsCallable(globals.Reflect[key])) {\n defineProperty(globals.Reflect, key, shim);\n } else {\n var acceptsPrimitives = valueOrFalseIfThrows(function () {\n globals.Reflect[key](1);\n globals.Reflect[key](NaN);\n globals.Reflect[key](true);\n return true;\n });\n if (acceptsPrimitives) {\n overrideNative(globals.Reflect, key, shim);\n }\n }\n };\n Object.keys(ReflectShims).forEach(function (key) {\n defineOrOverrideReflectProperty(key, ReflectShims[key]);\n });\n var originalReflectGetProto = globals.Reflect.getPrototypeOf;\n if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {\n overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) {\n return _call(originalReflectGetProto, globals.Reflect, target);\n });\n }\n if (globals.Reflect.setPrototypeOf) {\n if (valueOrFalseIfThrows(function () {\n globals.Reflect.setPrototypeOf(1, {});\n return true;\n })) {\n overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);\n }\n }\n if (globals.Reflect.defineProperty) {\n if (!valueOrFalseIfThrows(function () {\n var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });\n // \"extensible\" fails on Edge 0.12\n var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});\n return basic && extensible;\n })) {\n overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);\n }\n }\n if (globals.Reflect.construct) {\n if (!valueOrFalseIfThrows(function () {\n var F = function F() {};\n return globals.Reflect.construct(function () {}, [], F) instanceof F;\n })) {\n overrideNative(globals.Reflect, 'construct', ReflectShims.construct);\n }\n }\n\n if (String(new Date(NaN)) !== 'Invalid Date') {\n var dateToString = Date.prototype.toString;\n var shimmedDateToString = function toString() {\n var valueOf = +this;\n if (valueOf !== valueOf) {\n return 'Invalid Date';\n }\n return ES.Call(dateToString, this);\n };\n overrideNative(Date.prototype, 'toString', shimmedDateToString);\n }\n\n // Annex B HTML methods\n // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object\n var stringHTMLshims = {\n anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); },\n big: function big() { return ES.CreateHTML(this, 'big', '', ''); },\n blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); },\n bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); },\n fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); },\n fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); },\n fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); },\n italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); },\n link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); },\n small: function small() { return ES.CreateHTML(this, 'small', '', ''); },\n strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); },\n sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); },\n sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); }\n };\n _forEach(Object.keys(stringHTMLshims), function (key) {\n var method = String.prototype[key];\n var shouldOverwrite = false;\n if (ES.IsCallable(method)) {\n var output = _call(method, '', ' \" ');\n var quotesCount = _concat([], output.match(/\"/g)).length;\n shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;\n } else {\n shouldOverwrite = true;\n }\n if (shouldOverwrite) {\n overrideNative(String.prototype, key, stringHTMLshims[key]);\n }\n });\n\n var JSONstringifiesSymbols = (function () {\n // Microsoft Edge v0.12 stringifies Symbols incorrectly\n if (!hasSymbols) { return false; } // Symbols are not supported\n var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;\n if (!stringify) { return false; } // JSON.stringify is not supported\n if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined`\n if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null`\n var obj = { a: Symbol() };\n obj[Symbol()] = true;\n if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted\n return false;\n }());\n var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {\n // Chrome 45 throws on stringifying object symbols\n if (!hasSymbols) { return true; } // Symbols are not supported\n return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';\n });\n if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {\n var origStringify = JSON.stringify;\n overrideNative(JSON, 'stringify', function stringify(value) {\n if (typeof value === 'symbol') { return; }\n var replacer;\n if (arguments.length > 1) {\n replacer = arguments[1];\n }\n var args = [value];\n if (!isArray(replacer)) {\n var replaceFn = ES.IsCallable(replacer) ? replacer : null;\n var wrappedReplacer = function (key, val) {\n var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val;\n if (typeof parsedValue !== 'symbol') {\n if (Type.symbol(parsedValue)) {\n return assignTo({})(parsedValue);\n } else {\n return parsedValue;\n }\n }\n };\n args.push(wrappedReplacer);\n } else {\n // create wrapped replacer that handles an array replacer?\n args.push(replacer);\n }\n if (arguments.length > 2) {\n args.push(arguments[2]);\n }\n return origStringify.apply(this, args);\n });\n }\n\n return globals;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/es6-shim/es6-shim.js\n// module id = 2\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 3\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n// WEBPACK FOOTER //\n// ./source/styles/main.scss","import {each, closest, create_widget, find_widgets, flush_widgets, remove_widget} from './helpers'\n\n/**\n * http://krasimirtsonev.com/blog/article/A-modern-JavaScript-router-in-100-lines-history-api-pushState-hash-url\n */\n/*\n * Hotfix https://jira.prototypes.ru/browse/VOIS-68\n */\n\nif (!(function f() {}).name) {\n Object.defineProperty(Function.prototype, 'name', {\n get: function() {\n var name = this.toString().match(/^function\\s*([^\\s(]+)/)[1];\n // For better performance only parse once, and then cache the\n // result through a new accessor for repeated access.\n Object.defineProperty(this, 'name', { value: name });\n return name;\n }\n });\n}\nif (!FormData.prototype.delete) {\n FormData.prototype.delete = function () {\n return;\n };\n}\nif (!Element.prototype.matches && Element.prototype.msMatchesSelector) {\n Element.prototype.matches = function (selector) {\n return this.msMatchesSelector(selector);\n };\n}\n\nlet Router = {\n routes: [],\n mode: null,\n root: '/',\n error_handler: null,\n _page_item: 0,\n _abort: null,\n\n _controllers: {},\n\n\n /**\n * Задание конфигов\n * @param options\n * @returns {config}\n */\n config: function(options) {\n this.mode = options && options.mode && options.mode == 'history'\n && !!(history.pushState) ? 'history' : 'hash';\n this.root = options && options.root ? '/' + this.clearSlashes(options.root) + '/' : '/';\n\n if (options.error_handler) {\n this.error_handler = options.error_handler;\n }\n\n return this;\n },\n\n\n getQueryParameters: function(str = document.location.search) {\n if (str.length) {\n return (str || document.location.search).replace(/(^\\?)/,'').split(\"&\").map(\n function (string) {\n let idx = string.indexOf(\"=\") + 1;\n let name = string.slice(0, string.indexOf(\"=\"));\n this[name] = decodeURIComponent(string.slice(idx, string.length));\n\n return this;\n }.bind({})\n )[0]\n }\n },\n\n\n /**\n * Вызов error_handler если ни один роут не найден\n * @param controller\n */\n error_page: function (controller) {\n this.error_handler = function (...argv) {\n new controller(...argv);\n };\n },\n\n\n /**\n * Получение фрагмента url\n * @returns {*}\n */\n getFragment: function() {\n var fragment = '';\n if(this.mode === 'history') {\n fragment = this.clearSlashes(decodeURI(location.pathname + location.search));\n fragment = fragment.replace(/\\?(.*)$/, '');\n fragment = this.root != '/' ? fragment.replace(this.clearSlashes(this.root), '') : fragment;\n } else {\n var match = window.location.href.match(/#(.*)$/);\n fragment = match ? match[1] : '';\n }\n return this.clearSlashes(fragment);\n },\n\n\n /**\n * Удаление слешей из строки\n * @param path\n * @returns {string|XML}\n */\n clearSlashes: function(path) {\n return path.toString().replace(/\\/$/, '').replace(/^\\//, '');\n },\n\n\n /**\n * Добавление роута\n * @param path\n * @param handler\n * @returns {add}\n */\n add: function(path, handler) {\n this.routes.push({ path: this.clearSlashes(path), handler: handler});\n return this;\n },\n\n\n /**\n * Добавление роута с классом\n * @param path\n * @param controller\n */\n add_page: function (controller) {\n let routers = [];\n\n if (!controller.route) {\n throw 'Invalid query parameters are set, there is no Controller.route() method';\n }\n\n this._controllers[controller.name] = controller;\n\n if (controller.route && controller.route.toString() === '[object Object]') {\n routers = Object.keys(controller.route).map(function(item) {\n return controller.route[item];\n });\n } else {\n routers = Array.isArray(controller.route) ? controller.route : [controller.route];\n }\n\n each(routers, route => {\n this.add(route, function (params) {\n each(find_widgets(document.body), widget => {\n remove_widget(widget);\n });\n\n flush_widgets(document.body);\n\n let instance = new controller(params, this.getQueryParameters());\n create_widget(document.body, instance);\n\n }.bind(this));\n });\n },\n\n\n /**\n * Удаление роута\n * @param path\n * @returns {remove}\n */\n remove: function(path) {\n this.routes.forEach(function (route, index) {\n if (route.path === path) {\n this.routes.splice(i, 1);\n }\n }.bind(this));\n\n return this;\n },\n\n\n /**\n * Очистка всех роутов\n * @returns {flush}\n */\n flush: function() {\n this.routes = [];\n this.mode = null;\n this.root = '/';\n return this;\n },\n\n\n /**\n * Проверка текущего урла\n * @param f\n * @returns {check}\n */\n check: function (f) {\n let fragment = f || this.getFragment();\n let fragment_list = fragment.split('/');\n let re = new RegExp('<(.*)>', 'i');\n\n if (this._abort !== null) {\n return this;\n }\n\n for (let i = 0; i < this.routes.length; i++) {\n let route = this.routes[i];\n\n if (fragment === route.path) {\n route.handler.apply({});\n return this;\n } else {\n let path_list = route.path.split('/');\n let params = {};\n let is_valid = true;\n\n if (path_list.length === fragment_list.length) {\n path_list.forEach(function (item, index) {\n if(item.match(re)) {\n let name = item.replace(/[<>\\n]/g, '');\n params[name] = fragment_list[index];\n\n } else if (fragment_list[index] !== item) {\n is_valid = false;\n return false;\n }\n });\n\n if (is_valid) {\n route.handler.apply({}, [params]);\n return this;\n }\n }\n }\n }\n\n this.abort(404);\n return this;\n },\n\n\n /**\n * Запуск слушателя\n * @returns {listen}\n */\n listen: function() {\n let current = this.getFragment();\n let search = window.location.search;\n let pushState = history.pushState;\n history.pushState = function(state) {\n let ps = pushState.apply(history, arguments);\n\n if (typeof history.onpushstate == \"function\") {\n history.onpushstate({state: state});\n }\n\n return ps;\n };\n\n\n document.removeEventListener('click', history_target);\n document.addEventListener('click', history_target);\n\n window.onpopstate = history.onpushstate = function () {\n if(current !== this.getFragment() || search !== window.location.search) {\n current = this.getFragment();\n search = window.location.search;\n this.check(current);\n }\n }.bind(this);\n return this;\n },\n\n\n /**\n * Переключение между роутами\n * @param path\n * @returns {navigate}\n */\n navigate: function(path) {\n let search = window.location.search;\n path = path ? path : '';\n\n if (path.indexOf('#') > -1) {\n return this;\n }\n\n if (this.mode === 'history') {\n let new_path = this.root + path.replace(/^\\//, '');\n\n if (window.location.pathname + search !== new_path){\n history.pushState(null, null, new_path);\n } else {\n this.check();\n }\n } else {\n window.location.href = window.location.href.replace(/#(.*)$/, '') + '#' + path;\n }\n\n return this;\n },\n\n\n /**\n * Прервать рендер страници и вызвать ошибку\n * @param code\n */\n abort: function(code) {\n if (this.error_handler) {\n this.error_handler.apply({}, [code]);\n this._abort = null;\n }\n },\n\n\n /**\n * Получение контролера по имени\n * @param controller_name\n * @returns {*}\n */\n get_controller: function(controller_name) {\n return this._controllers[controller_name];\n },\n\n\n /**\n * Получение урла по имени контроллера\n */\n get_url: function(name, params={}) {\n let controller_name = name.split('.').shift();\n let key = name.split('.').pop();\n let page_controller = Router.get_controller(controller_name);\n let path;\n\n if (!page_controller || !page_controller.route) {\n throw 'Invalid query parameters are set, there is no Controller.route() method';\n }\n\n if (name.indexOf('.') > -1) {\n path = page_controller.route[key]\n } else {\n path = page_controller.route;\n }\n Object.keys(params).forEach(key => {\n path = path.replace('<'+key+'>', params[key]);\n });\n\n return path;\n },\n\n\n /**\n * Проверка текущего урла\n * @param controller_name\n * @param params\n * @returns {boolean}\n */\n has_url: function(controller_name, params={}) {\n return this.getFragment() == this.clearSlashes(this.get_url.apply({}, arguments));\n }\n};\n\n\nmodule.exports = Router;\n\n\n/**\n * Обработка ссылок на странице в режиме history\n * @param event\n */\nfunction history_target(event) {\n let a = closest(event.target, 'a');\n\n if (!a) {\n return;\n }\n\n if (event.metaKey || event.button !== 0) {\n return;\n }\n\n if (!a.hash && !a.hasAttribute('target')) {\n event.preventDefault();\n Router.navigate(a.getAttribute('href'));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/router.js","import xhr from './functions/xhr';\nimport config from './config';\n\n\n/**\n * Отправление POST запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n */\nexport function post(url, data, handler, error) {\n let argv = Array.prototype.slice.call(arguments);\n argv.unshift('post');\n return xhr.apply({}, argv);\n}\n\n\n/**\n * Отправление GET запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n */\nexport function get(url, data, handler, error) {\n let argv = Array.prototype.slice.call(arguments);\n argv.unshift('get');\n return xhr.apply({}, argv);\n}\n\n\n/**\n * Получение JSON из строки, если строка невалидная вернется пустой объект\n * @param string\n * @returns {{}}\n */\nexport function parse_json(string) {\n try {\n return JSON.parse(string);\n } catch (e) {\n return {}\n }\n}\n\n\n/**\n * Обертка над forEach\n * @param list\n * @param handler\n */\nexport function each(list, handler) {\n if (!list) {\n return;\n }\n\n if (!(list instanceof Array)) {\n list = Array.prototype.slice.call(list);\n }\n\n for (let i = 0; i < list.length; i++) {\n if (handler(list[i], i) === false) {\n break;\n }\n }\n}\n\n\n/**\n * Обертка над addEventListener, принимает как одну так и список HTMLElements\n * @param node_list\n * @param event_name\n * @param handler\n */\nexport function attach_event(node_list, event_name, handler) {\n if (node_list instanceof HTMLElement) {\n node_list = [node_list];\n }\n\n each(node_list, function (node) {\n node.addEventListener(event_name, handler);\n });\n}\n\n\n/**\n * Удаление событий\n * @param node_list\n * @param event_name\n * @param handler\n */\nexport function remove_event(node_list, event_name, handler) {\n if (node_list instanceof HTMLElement) {\n node_list = [node_list];\n }\n\n each(node_list, function (node) {\n node.removeEventListener(event_name, handler);\n });\n}\n\n\n/**\n * Получение индекса элемента внутри родителя\n * @param node\n * @returns {number}\n */\nexport function index_element(node) {\n let index = 0;\n each(node.parentNode.children, function (element, position) {\n if (node === element) {\n index = position;\n }\n });\n return index\n}\n\n\n/**\n * Поиск родителя по селектору\n * @param node\n * @param selector\n * @returns {*}\n */\nexport function closest(node, selector) {\n let result = null;\n\n while(node) {\n if (node.matches(selector)) {\n result = node;\n break;\n }\n\n node = node.parentElement;\n }\n\n return result;\n}\n\n\n/**\n * Проверка на HTMLElement\n * @param element\n * @returns {boolean}\n */\nexport function is_element(element) {\n try {\n return element instanceof HTMLElement;\n }\n catch(e){\n return (typeof element === \"object\") &&\n (element.nodeType === 1) && (typeof element.style === \"object\") &&\n (typeof element.ownerDocument === \"object\");\n }\n}\n\n\n/**\n * Получение css свойства\n * @param element\n * @param property\n * @returns {string}\n */\nexport function css_property(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\n\n\n/**\n * Получение списка виджетов\n * @param node\n * @returns {Array}\n */\nexport function get_widgets(node) {\n return node.__list_widget__ || [];\n}\n\n\n/**\n * Возвра щает виджет из ноды по названию\n * @param node\n * @param widget_name\n * @returns {*}\n */\nexport function get_widget(node, widget_name=false) {\n let widget = null;\n\n each(get_widgets(node), item => {\n if (item.constructor.name === widget_name) {\n widget = item;\n return false;\n }\n });\n\n return widget;\n}\n\n\n/**\n * Проверка на существование виджета в ноде по инстансу\n * @param node\n * @param instance\n * @returns {boolean}\n */\nexport function has_widget(node, instance) {\n let result = false;\n\n each(get_widgets(node), item => {\n if (item === instance) {\n result = true;\n return false;\n }\n });\n\n return result;\n}\n\n\n/**\n * Очистка всех виджетов с ноды\n * @param node\n */\nexport function flush_widgets(node) {\n each(node.__list_widget__, widget => {\n remove_widget(widget);\n });\n node.__list_widget__ = [];\n node.classList.remove('.widget');\n}\n\n\n/**\n * Уделение виджета\n * @param widget\n */\nexport function remove_widget(widget) {\n if (widget.destructor) {\n widget.destructor();\n }\n widget = null;\n}\n\n\n/**\n * Поиск виджетов в текущей ноде и всех внутри нее\n * @param node\n * @returns {Array}\n */\nexport function find_widgets(node) {\n let widgets = [];\n\n widgets = widgets.concat(get_widgets(node));\n each(node.querySelectorAll('.widget'), item => {\n widgets = widgets.concat(get_widgets(item));\n });\n\n return widgets;\n}\n\n\n/**\n * Создание/добавление виджета в ноду\n * @param node\n * @param instance\n */\nexport function create_widget(node, instance) {\n if (!node.__list_widget__) {\n node.classList.add('widget');\n node.__list_widget__ = [];\n }\n\n node.__list_widget__.push(instance);\n return instance;\n}\n\n/**\n * Возвращает уникальную строку\n * @returns {string}\n */\nexport function unique(length=6) {\n return Math.random().toString(36).substr(2, length);\n}\n\n\n/**\n * Преобразование байт\n * @param bytes\n * @returns {*}\n */\nexport function convert_bytes(bytes) {\n var sizes = ['Байт', 'Кб', 'Мб', 'Гб', 'Тб'];\n if (bytes == 0) return '0 Byte';\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\n return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];\n}\n\n\n/**\n * Получение из строки даты, даты в дургом формате\n * @param date_string\n * @param options_name\n * @returns {string}\n */\nexport function convert_date(date_string, options_name='default') {\n if (!isNaN(date_string)) {\n date_string = date_string * 1000;\n }\n var date = new Date(date_string);\n return date.toLocaleDateString(config.lang.toString(), config.convert_date_options[options_name]).replace(/[^a-zA-Z0-9а-яА-Я .:\\-/]/g, '');\n}\n\n\n/**\n * Получение из строки даты времени\n * @param date_string\n * @param options_name\n * @returns {string}\n */\nexport function convert_time(date_string, options_name='default') {\n if (!isNaN(date_string)) {\n date_string = date_string * 1000;\n }\n return new Date(date_string).toLocaleTimeString(config.lang.toString(), config.convert_time_options[options_name]).replace(/[^a-zA-Z0-9а-яА-Я .:\\-/]/g, '');\n}\n\n/**\n * Получение из числа цены\n * @param number\n * @param options_name\n * @returns {string}\n */\nexport function convert_price(number, options_name='default') {\n return new Intl.NumberFormat(config.lang.toString(), config.convert_price_options[options_name]).format(number);\n}\n\n\n/**\n * Конвертирование числа в строку вида hh:mm:ss,\n * если числа не хватает до часа или минуты будет строка вида mm:ss или ss\n * @param seconds\n * @returns {string}\n */\nexport function convert_second(seconds, chunks=1) {\n let str_pad_left = (string, pad, length) => {\n return (new Array(length + 1).join(pad) + string).slice(-length);\n };\n\n let hour = Math.floor(seconds / 3600);\n let minutes = Math.floor((seconds - (hour * 3600))/60);\n seconds = seconds - (hour * 3600) - (minutes * 60);\n let result = [];\n\n if (hour || chunks > 2) {\n result.push( str_pad_left(hour, '0',2) );\n }\n\n if (minutes || chunks > 1) {\n result.push( str_pad_left(minutes, '0',2) );\n }\n\n if (!isNaN(seconds)) {\n result.push( str_pad_left(seconds, '0',2) );\n }\n\n return result.join(':');\n}\n\n/**\n * Склонение числительных\n * @param number\n * @param words = []\n */\nexport function plural_form(number, words=[]) {\n let cases = [2, 0, 1, 1, 1, 2];\n number = Math.abs(number);\n return words[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];\n}\n\n\n/**\n * Подготовка контента, инициализация виджетов\n * @param parent\n */\nexport function prepare_content(parent) {\n parent = parent || document;\n\n each(config.widgets, widget => {\n if (widget) {\n widget.apply({}, [parent]);\n }\n });\n}\n\n\n/**\n * Удалить обертку у элемента\n * @param element\n */\nexport function unwrap(element) {\n each(element.childNodes, child => {\n element.parentNode.insertBefore(child, element);\n });\n element.parentNode.removeChild(element);\n}\n\n\n/**\n * Замена ссылок в строке на теги\n * @param text\n * @returns {*}\n */\nexport function urlify(text) {\n let urlRegex = /(\\b((https?|ftp|file):\\/\\/|www)[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/ig;\n return text.replace(urlRegex, function(url,b,c) {\n let url2 = (c == 'www') ? 'http://' +url : url;\n return '' + url + '';\n })\n}\n\n\n/**\n * Очистка от нежелательныъ тегов\n * @param parent_node\n */\nexport function clear_string(parent_node, allowed=[]) {\n each(parent_node.children, item => {\n clear_string(item, allowed);\n\n if (allowed.indexOf(item.tagName) < 0) {\n unwrap(item);\n } else {\n each(item.attributes, attr => {\n item.removeAttributeNode(attr);\n });\n }\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/helpers.js","export default function xhr(method, url, data, callback, error) {\n let xhr = new XMLHttpRequest();\n let path = url;\n let formData = null;\n\n method = method.toUpperCase();\n\n if (data instanceof FormData) {\n formData = data;\n } else if(data) {\n formData = new FormData();\n\n Object.keys(data).forEach(function (key) {\n formData.append(key, data[key]);\n });\n }\n\n if (method == 'GET' && formData) {\n let params = [];\n formData.forEach(function(value, key){\n params.push(key + '=' + encodeURIComponent(value));\n });\n\n formData = null;\n\n if (params.length) {\n path += '?' + params.join('&');\n }\n }\n\n xhr.open(method, path, true);\n xhr.send(formData);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState != 4) return;\n\n if (xhr.status == 200) {\n if (callback) {\n callback(xhr.responseText, xhr);\n }\n } else {\n if (error) {\n error(xhr.responseText, xhr);\n }\n }\n };\n\n return xhr;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/xhr.js","let config = {\n// lang: navigator.languages ? navigator.languages[0] : navigator.language,\n lang: 'RU-ru',\n\n // TODO https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\n convert_date_options: {\n\n // 1 августа 1999 г.\n 'default': {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // 01.11.1999\n 'numbers': {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // 1999\n 'year': {\n year: 'numeric',\n timeZone: 'UTC'\n },\n\n // август\n 'month': {\n month: 'long',\n timeZone: 'UTC'\n },\n\n // 1\n 'day': {\n day: 'numeric',\n timeZone: 'UTC'\n }\n },\n\n convert_time_options: {\n\n // 00:00\n 'default': {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC'\n },\n\n // hour\n 'hour': {\n hour: 'numeric',\n timeZone: 'UTC'\n },\n\n // minute\n 'minute': {\n minute: 'numeric',\n timeZone: 'UTC'\n }\n },\n\n convert_price_options: {\n\n // 123 456,79 руб\n 'default': {\n style: 'currency',\n currency: 'RUB'\n }\n\n },\n\n widgets: []\n};\n\n\n/**\n * Получить весь конфиг\n */\nexport default config;\n\n\n/**\n * Изменение конфига\n * @param config_name\n * @param options\n */\nexport function change_config(config_name, options) {\n try {\n config[config_name] = Object.assign(config[config_name], options);\n } catch (error) {\n config[config_name] = options;\n }\n}\n\n\n/**\n * Получение конфига по названию\n * @param config_name\n * @returns {*}\n */\nexport function get_config(config_name) {\n return config[config_name];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/config.js","if (![].includes) {\n Array.prototype.includes = function (searchElement/*, fromIndex*/) {\n 'use strict';\n var O = Object(this);\n var len = parseInt(O.length) || 0;\n if (len === 0) {\n return false;\n }\n var n = parseInt(arguments[1]) || 0;\n var k;\n if (n >= 0) {\n k = n;\n } else {\n k = len + n;\n if (k < 0) {\n k = 0;\n }\n }\n while (k < len) {\n var currentElement = O[k];\n if (searchElement === currentElement ||\n (searchElement !== searchElement && currentElement !== currentElement)\n ) {\n return true;\n }\n k++;\n }\n return false;\n };\n}\n\n\nif (!String.prototype.includes) {\n String.prototype.includes = function () {\n 'use strict';\n return String.prototype.indexOf.apply(this, arguments) !== -1;\n };\n}\n\nif (self.document && !(\"insertAdjacentHTML\" in document.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\"))) {\n\n HTMLElement.prototype.insertAdjacentHTML = function (position, html) {\n \"use strict\";\n\n var\n ref = this\n , container = ref.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\")\n , ref_parent = ref.parentNode\n , node, first_child, next_sibling\n ;\n\n container.innerHTML = html;\n\n switch (position.toLowerCase()) {\n case \"beforebegin\":\n while ((node = container.firstChild)) {\n ref_parent.insertBefore(node, ref);\n }\n break;\n case \"afterbegin\":\n first_child = ref.firstChild;\n while ((node = container.lastChild)) {\n first_child = ref.insertBefore(node, first_child);\n }\n break;\n case \"beforeend\":\n while ((node = container.firstChild)) {\n ref.appendChild(node);\n }\n break;\n case \"afterend\":\n next_sibling = ref.nextSibling;\n while ((node = container.lastChild)) {\n next_sibling = ref_parent.insertBefore(node, next_sibling);\n }\n break;\n }\n };\n\n}\n\nif (self.document && !(\"insertAdjacentElement\" in document.createElementNS(\"http://www.w3.org/1999/xhtml\", \"_\"))) {\n\n HTMLElement.prototype.insertAdjacentElement = function (position, elem) {\n \"use strict\";\n\n let _this = this,\n parent = _this.parentNode,\n node, first, next;\n\n switch (position.toLowerCase()) {\n case 'beforebegin':\n while ((node = elem.firstChild)) {\n parent.insertBefore(node, _this);\n }\n break;\n case 'afterbegin':\n first = _this.firstChild;\n while ((node = elem.lastChild)) {\n first = _this.insertBefore(node, first);\n }\n break;\n case 'beforeend':\n while ((node = elem.firstChild)) {\n _this.appendChild(node);\n }\n break;\n case 'afterend':\n parent.insertBefore(elem, _this.nextSibling);\n break;\n }\n return elem;\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/polyfill.js","import {validator_list} from 'blocko/form-validate'\n\nvalidator_list({\n email_exist: {\n test: function (value, field) {\n if (value) {\n return false;\n }\n },\n message: 'Пользователь уже заведен в системе'\n },\n numeric_float: {\n test: function (value, field) {\n if (value) {\n return !isNaN(value);\n } else {\n return true;\n }\n },\n message: 'Значение поля должно быть целым либо дробным числом'\n },\n});\n\n\n// WEBPACK FOOTER //\n// ./source/validate.js","import {each, convert_date} from './helpers'\n\n\nlet validators = {};\nlet messages = {};\n\n\n/**\n * Базовые валидаторы\n */\nvalidator_list({\n /**\n * Проверка на пустоту\n */\n empty: {\n test: function(value) {\n return value.trim().length\n },\n message: 'Поле не должно быть пустым'\n },\n\n\n /**\n * Проверка на число\n */\n numeric: {\n test: /^[ 0-9]+$/,\n message: 'Значение поля должно быть числом'\n },\n\n\n /**\n * Проверка почты\n */\n email: {\n test: /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Введите пожалуйста корректный email'\n },\n\n\n /**\n * Проверка на телефон\n */\n phone: {\n test: /^(\\([0-9]{3}\\)|[0-9]{3}-)[0-9]{3}-[0-9]{4}$/,\n message: 'Введите пожалуйста корректный телефон'\n },\n\n\n /**\n * Проверка даты на соответствие маске 01.10.1999\n */\n numbers_date: {\n test: function(value) {\n if (value) {\n if (/^([0-9]{2}).([0-9]{2}).([0-9]{4})$/.test(value)) {\n let x = value.split('.').reverse().join('-');\n\n if (isNaN(new Date(x).getMonth())) {\n return false;\n }\n return true;\n }\n return false\n }\n return true\n },\n message: 'Проверка на дату'\n },\n\n /**\n * Проверка на checked\n */\n checked: {\n test: function (value, input) {\n return input.checked;\n },\n message: 'Обязательное для заполнения поле'\n }\n});\n\n\n\n/**\n * Установка валидатора\n * @param validator_name\n * @param validator\n */\nexport function set_validator(validator_name, validator) {\n if (validator instanceof RegExp) {\n validators[validator_name] = function (value) {\n if (value.length) {\n return validator.test(value);\n }\n return true;\n }\n } else if (validator instanceof Function) {\n validators[validator_name] = validator;\n }\n}\n\n\n/**\n * Установка списка валидаторов\n * @param validator_list\n */\nexport function validator_list(validator_list={}) {\n each(Object.keys(validator_list), key => {\n let item = validator_list[key];\n\n set_validator(key, item.test);\n set_error_message(key, item.message);\n });\n}\n\n\n/**\n * Получение валидатора\n * @param validator_name\n * @returns {*}\n */\nexport function get_validator(validator_name) {\n return validators[validator_name];\n}\n\n\n/**\n * Получение сообщения об ошибке\n * @param validator\n * @returns {*}\n */\nexport function get_error_message(validator) {\n return messages[validator];\n}\n\n\n/**\n * Установка сообщение об ошибке\n * @param validator\n * @param message\n */\nexport function set_error_message(validator, message) {\n messages[validator] = message || '';\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/form-validate.js","import template from 'common.web/layouts/l-auth/l-auth.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json} from 'blocko/helpers'\n\n\nclass Auth extends Controller {\n\n static get route() {\n return '/auth/';\n }\n\n\n constructor() {\n super();\n super.add('menu', false);\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n form: document.querySelector('form'),\n error: document.querySelector('.l-auth__error'),\n loader: document.querySelector('.l-auth__loader'),\n submit: document.querySelector('.l-auth__submit')\n };\n\n this.loader_timer = 0;\n\n this._bind();\n }\n\n\n _bind() {\n /**\n * Очищаем общую ошибку формы\n */\n this.dom.form.addEventListener('input', event => {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = '';\n });\n\n\n /**\n * Отправка формы авторизации\n */\n this.dom.form.addEventListener('submit', event => {\n event.preventDefault();\n\n\n /**\n * Показываем с задержкой, что бы не прыгали блоки\n * @type {int|number}\n */\n this.loader_timer = setTimeout(function () {\n this.dom.submit.classList.add('hidden');\n this.dom.loader.classList.remove('hidden');\n }.bind(this), 300);\n\n post('/x/id/get_rsid', {}, response => {\n this._change_rsid(response);\n });\n });\n }\n\n\n /**\n * Атворизация\n * @private\n */\n _change_rsid() {\n post('/x/id/a', new FormData(this.dom.form), response => {\n response = parse_json(response);\n\n clearTimeout(this.loader_timer);\n this.dom.submit.classList.remove('hidden');\n this.dom.loader.classList.add('hidden');\n\n if (response.success) {\n this._get_user();\n } else {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = response.errmess;\n }\n });\n }\n\n\n _get_user() {\n post('/api/red/user/get', {}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (Router.has_url('Auth')) {\n this.url_for('Home');\n }\n } else if (response.errcode == 401) {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = 'Данный e-mail не зарегистрирован в системе';\n }\n });\n }\n\n}\n\nRouter.add_page(Auth);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/auth.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../blocks/b-layout/b-layout.html\"] = require( \"../../blocks/b-layout/b-layout.html\" );\ndependencies[\"../../blocks/b-loader/b-loader.html\"] = require( \"../../blocks/b-loader/b-loader.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/layouts/l-auth/l-auth.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../blocks/b-layout/b-layout.html\", true, \"../../node_modules/common.web/layouts/l-auth/l-auth.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n\\n
\\n
Вход в систему
\\n
\\n
\\n
\\n
E-mail
\\n \\n
\\n
\\n
Пароль
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \";\nenv.getTemplate(\"../../blocks/b-loader/b-loader.html\", false, \"../../node_modules/common.web/layouts/l-auth/l-auth.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n\\n \\n \\n \\n
\\n
\\n\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/layouts/l-auth/l-auth.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/layouts/l-auth/l-auth.html","/*! Browser bundle of nunjucks 2.5.2 (slim, only works with precompiled templates) */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"nunjucks\"] = factory();\n\telse\n\t\troot[\"nunjucks\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar env = __webpack_require__(2);\n\tvar Loader = __webpack_require__(11);\n\tvar loaders = __webpack_require__(3);\n\tvar precompile = __webpack_require__(3);\n\n\tmodule.exports = {};\n\tmodule.exports.Environment = env.Environment;\n\tmodule.exports.Template = env.Template;\n\n\tmodule.exports.Loader = Loader;\n\tmodule.exports.FileSystemLoader = loaders.FileSystemLoader;\n\tmodule.exports.PrecompiledLoader = loaders.PrecompiledLoader;\n\tmodule.exports.WebLoader = loaders.WebLoader;\n\n\tmodule.exports.compiler = __webpack_require__(3);\n\tmodule.exports.parser = __webpack_require__(3);\n\tmodule.exports.lexer = __webpack_require__(3);\n\tmodule.exports.runtime = __webpack_require__(8);\n\tmodule.exports.lib = lib;\n\tmodule.exports.nodes = __webpack_require__(3);\n\n\tmodule.exports.installJinjaCompat = __webpack_require__(12);\n\n\t// A single instance of an environment, since this is so commonly used\n\n\tvar e;\n\tmodule.exports.configure = function(templatesPath, opts) {\n\t opts = opts || {};\n\t if(lib.isObject(templatesPath)) {\n\t opts = templatesPath;\n\t templatesPath = null;\n\t }\n\n\t var TemplateLoader;\n\t if(loaders.FileSystemLoader) {\n\t TemplateLoader = new loaders.FileSystemLoader(templatesPath, {\n\t watch: opts.watch,\n\t noCache: opts.noCache\n\t });\n\t }\n\t else if(loaders.WebLoader) {\n\t TemplateLoader = new loaders.WebLoader(templatesPath, {\n\t useCache: opts.web && opts.web.useCache,\n\t async: opts.web && opts.web.async\n\t });\n\t }\n\n\t e = new env.Environment(TemplateLoader, opts);\n\n\t if(opts && opts.express) {\n\t e.express(opts.express);\n\t }\n\n\t return e;\n\t};\n\n\tmodule.exports.compile = function(src, env, path, eagerCompile) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\t return new module.exports.Template(src, env, path, eagerCompile);\n\t};\n\n\tmodule.exports.render = function(name, ctx, cb) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\n\t return e.render(name, ctx, cb);\n\t};\n\n\tmodule.exports.renderString = function(src, ctx, cb) {\n\t if(!e) {\n\t module.exports.configure();\n\t }\n\n\t return e.renderString(src, ctx, cb);\n\t};\n\n\tif(precompile) {\n\t module.exports.precompile = precompile.precompile;\n\t module.exports.precompileString = precompile.precompileString;\n\t}\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\tvar ArrayProto = Array.prototype;\n\tvar ObjProto = Object.prototype;\n\n\tvar escapeMap = {\n\t '&': '&',\n\t '\"': '"',\n\t '\\'': ''',\n\t '<': '<',\n\t '>': '>'\n\t};\n\n\tvar escapeRegex = /[&\"'<>]/g;\n\n\tvar lookupEscape = function(ch) {\n\t return escapeMap[ch];\n\t};\n\n\tvar exports = module.exports = {};\n\n\texports.prettifyError = function(path, withInternals, err) {\n\t // jshint -W022\n\t // http://jslinterrors.com/do-not-assign-to-the-exception-parameter\n\t if (!err.Update) {\n\t // not one of ours, cast it\n\t err = new exports.TemplateError(err);\n\t }\n\t err.Update(path);\n\n\t // Unless they marked the dev flag, show them a trace from here\n\t if (!withInternals) {\n\t var old = err;\n\t err = new Error(old.message);\n\t err.name = old.name;\n\t }\n\n\t return err;\n\t};\n\n\texports.TemplateError = function(message, lineno, colno) {\n\t var err = this;\n\n\t if (message instanceof Error) { // for casting regular js errors\n\t err = message;\n\t message = message.name + ': ' + message.message;\n\n\t try {\n\t if(err.name = '') {}\n\t }\n\t catch(e) {\n\t // If we can't set the name of the error object in this\n\t // environment, don't use it\n\t err = this;\n\t }\n\t } else {\n\t if(Error.captureStackTrace) {\n\t Error.captureStackTrace(err);\n\t }\n\t }\n\n\t err.name = 'Template render error';\n\t err.message = message;\n\t err.lineno = lineno;\n\t err.colno = colno;\n\t err.firstUpdate = true;\n\n\t err.Update = function(path) {\n\t var message = '(' + (path || 'unknown path') + ')';\n\n\t // only show lineno + colno next to path of template\n\t // where error occurred\n\t if (this.firstUpdate) {\n\t if(this.lineno && this.colno) {\n\t message += ' [Line ' + this.lineno + ', Column ' + this.colno + ']';\n\t }\n\t else if(this.lineno) {\n\t message += ' [Line ' + this.lineno + ']';\n\t }\n\t }\n\n\t message += '\\n ';\n\t if (this.firstUpdate) {\n\t message += ' ';\n\t }\n\n\t this.message = message + (this.message || '');\n\t this.firstUpdate = false;\n\t return this;\n\t };\n\n\t return err;\n\t};\n\n\texports.TemplateError.prototype = Error.prototype;\n\n\texports.escape = function(val) {\n\t return val.replace(escapeRegex, lookupEscape);\n\t};\n\n\texports.isFunction = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Function]';\n\t};\n\n\texports.isArray = Array.isArray || function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Array]';\n\t};\n\n\texports.isString = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object String]';\n\t};\n\n\texports.isObject = function(obj) {\n\t return ObjProto.toString.call(obj) === '[object Object]';\n\t};\n\n\texports.groupBy = function(obj, val) {\n\t var result = {};\n\t var iterator = exports.isFunction(val) ? val : function(obj) { return obj[val]; };\n\t for(var i=0; i>> 0; // Hack to convert object.length to a UInt32\n\n\t fromIndex = +fromIndex || 0;\n\n\t if(Math.abs(fromIndex) === Infinity) {\n\t fromIndex = 0;\n\t }\n\n\t if(fromIndex < 0) {\n\t fromIndex += length;\n\t if (fromIndex < 0) {\n\t fromIndex = 0;\n\t }\n\t }\n\n\t for(;fromIndex < length; fromIndex++) {\n\t if (arr[fromIndex] === searchElement) {\n\t return fromIndex;\n\t }\n\t }\n\n\t return -1;\n\t };\n\n\tif(!Array.prototype.map) {\n\t Array.prototype.map = function() {\n\t throw new Error('map is unimplemented for this js engine');\n\t };\n\t}\n\n\texports.keys = function(obj) {\n\t if(Object.prototype.keys) {\n\t return obj.keys();\n\t }\n\t else {\n\t var keys = [];\n\t for(var k in obj) {\n\t if(obj.hasOwnProperty(k)) {\n\t keys.push(k);\n\t }\n\t }\n\t return keys;\n\t }\n\t};\n\n\texports.inOperator = function (key, val) {\n\t if (exports.isArray(val)) {\n\t return exports.indexOf(val, key) !== -1;\n\t } else if (exports.isObject(val)) {\n\t return key in val;\n\t } else if (exports.isString(val)) {\n\t return val.indexOf(key) !== -1;\n\t } else {\n\t throw new Error('Cannot use \"in\" operator to search for \"'\n\t + key + '\" in unexpected types.');\n\t }\n\t};\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar path = __webpack_require__(3);\n\tvar asap = __webpack_require__(4);\n\tvar lib = __webpack_require__(1);\n\tvar Obj = __webpack_require__(6);\n\tvar compiler = __webpack_require__(3);\n\tvar builtin_filters = __webpack_require__(7);\n\tvar builtin_loaders = __webpack_require__(3);\n\tvar runtime = __webpack_require__(8);\n\tvar globals = __webpack_require__(9);\n\tvar Frame = runtime.Frame;\n\tvar Template;\n\n\t// Unconditionally load in this loader, even if no other ones are\n\t// included (possible in the slim browser build)\n\tbuiltin_loaders.PrecompiledLoader = __webpack_require__(10);\n\n\t// If the user is using the async API, *always* call it\n\t// asynchronously even if the template was synchronous.\n\tfunction callbackAsap(cb, err, res) {\n\t asap(function() { cb(err, res); });\n\t}\n\n\tvar Environment = Obj.extend({\n\t init: function(loaders, opts) {\n\t // The dev flag determines the trace that'll be shown on errors.\n\t // If set to true, returns the full trace from the error point,\n\t // otherwise will return trace starting from Template.render\n\t // (the full trace from within nunjucks may confuse developers using\n\t // the library)\n\t // defaults to false\n\t opts = this.opts = opts || {};\n\t this.opts.dev = !!opts.dev;\n\n\t // The autoescape flag sets global autoescaping. If true,\n\t // every string variable will be escaped by default.\n\t // If false, strings can be manually escaped using the `escape` filter.\n\t // defaults to true\n\t this.opts.autoescape = opts.autoescape != null ? opts.autoescape : true;\n\n\t // If true, this will make the system throw errors if trying\n\t // to output a null or undefined value\n\t this.opts.throwOnUndefined = !!opts.throwOnUndefined;\n\t this.opts.trimBlocks = !!opts.trimBlocks;\n\t this.opts.lstripBlocks = !!opts.lstripBlocks;\n\n\t this.loaders = [];\n\n\t if(!loaders) {\n\t // The filesystem loader is only available server-side\n\t if(builtin_loaders.FileSystemLoader) {\n\t this.loaders = [new builtin_loaders.FileSystemLoader('views')];\n\t }\n\t else if(builtin_loaders.WebLoader) {\n\t this.loaders = [new builtin_loaders.WebLoader('/views')];\n\t }\n\t }\n\t else {\n\t this.loaders = lib.isArray(loaders) ? loaders : [loaders];\n\t }\n\n\t // It's easy to use precompiled templates: just include them\n\t // before you configure nunjucks and this will automatically\n\t // pick it up and use it\n\t if((true) && window.nunjucksPrecompiled) {\n\t this.loaders.unshift(\n\t new builtin_loaders.PrecompiledLoader(window.nunjucksPrecompiled)\n\t );\n\t }\n\n\t this.initCache();\n\n\t this.globals = globals();\n\t this.filters = {};\n\t this.asyncFilters = [];\n\t this.extensions = {};\n\t this.extensionsList = [];\n\n\t for(var name in builtin_filters) {\n\t this.addFilter(name, builtin_filters[name]);\n\t }\n\t },\n\n\t initCache: function() {\n\t // Caching and cache busting\n\t lib.each(this.loaders, function(loader) {\n\t loader.cache = {};\n\n\t if(typeof loader.on === 'function') {\n\t loader.on('update', function(template) {\n\t loader.cache[template] = null;\n\t });\n\t }\n\t });\n\t },\n\n\t addExtension: function(name, extension) {\n\t extension._name = name;\n\t this.extensions[name] = extension;\n\t this.extensionsList.push(extension);\n\t return this;\n\t },\n\n\t removeExtension: function(name) {\n\t var extension = this.getExtension(name);\n\t if (!extension) return;\n\n\t this.extensionsList = lib.without(this.extensionsList, extension);\n\t delete this.extensions[name];\n\t },\n\n\t getExtension: function(name) {\n\t return this.extensions[name];\n\t },\n\n\t hasExtension: function(name) {\n\t return !!this.extensions[name];\n\t },\n\n\t addGlobal: function(name, value) {\n\t this.globals[name] = value;\n\t return this;\n\t },\n\n\t getGlobal: function(name) {\n\t if(typeof this.globals[name] === 'undefined') {\n\t throw new Error('global not found: ' + name);\n\t }\n\t return this.globals[name];\n\t },\n\n\t addFilter: function(name, func, async) {\n\t var wrapped = func;\n\n\t if(async) {\n\t this.asyncFilters.push(name);\n\t }\n\t this.filters[name] = wrapped;\n\t return this;\n\t },\n\n\t getFilter: function(name) {\n\t if(!this.filters[name]) {\n\t throw new Error('filter not found: ' + name);\n\t }\n\t return this.filters[name];\n\t },\n\n\t resolveTemplate: function(loader, parentName, filename) {\n\t var isRelative = (loader.isRelative && parentName)? loader.isRelative(filename) : false;\n\t return (isRelative && loader.resolve)? loader.resolve(parentName, filename) : filename;\n\t },\n\n\t getTemplate: function(name, eagerCompile, parentName, ignoreMissing, cb) {\n\t var that = this;\n\t var tmpl = null;\n\t if(name && name.raw) {\n\t // this fixes autoescape for templates referenced in symbols\n\t name = name.raw;\n\t }\n\n\t if(lib.isFunction(parentName)) {\n\t cb = parentName;\n\t parentName = null;\n\t eagerCompile = eagerCompile || false;\n\t }\n\n\t if(lib.isFunction(eagerCompile)) {\n\t cb = eagerCompile;\n\t eagerCompile = false;\n\t }\n\n\t if (name instanceof Template) {\n\t tmpl = name;\n\t }\n\t else if(typeof name !== 'string') {\n\t throw new Error('template names must be a string: ' + name);\n\t }\n\t else {\n\t for (var i = 0; i < this.loaders.length; i++) {\n\t var _name = this.resolveTemplate(this.loaders[i], parentName, name);\n\t tmpl = this.loaders[i].cache[_name];\n\t if (tmpl) break;\n\t }\n\t }\n\n\t if(tmpl) {\n\t if(eagerCompile) {\n\t tmpl.compile();\n\t }\n\n\t if(cb) {\n\t cb(null, tmpl);\n\t }\n\t else {\n\t return tmpl;\n\t }\n\t } else {\n\t var syncResult;\n\t var _this = this;\n\n\t var createTemplate = function(err, info) {\n\t if(!info && !err) {\n\t if(!ignoreMissing) {\n\t err = new Error('template not found: ' + name);\n\t }\n\t }\n\n\t if (err) {\n\t if(cb) {\n\t cb(err);\n\t }\n\t else {\n\t throw err;\n\t }\n\t }\n\t else {\n\t var tmpl;\n\t if(info) {\n\t tmpl = new Template(info.src, _this,\n\t info.path, eagerCompile);\n\n\t if(!info.noCache) {\n\t info.loader.cache[name] = tmpl;\n\t }\n\t }\n\t else {\n\t tmpl = new Template('', _this,\n\t '', eagerCompile);\n\t }\n\n\t if(cb) {\n\t cb(null, tmpl);\n\t }\n\t else {\n\t syncResult = tmpl;\n\t }\n\t }\n\t };\n\n\t lib.asyncIter(this.loaders, function(loader, i, next, done) {\n\t function handle(err, src) {\n\t if(err) {\n\t done(err);\n\t }\n\t else if(src) {\n\t src.loader = loader;\n\t done(null, src);\n\t }\n\t else {\n\t next();\n\t }\n\t }\n\n\t // Resolve name relative to parentName\n\t name = that.resolveTemplate(loader, parentName, name);\n\n\t if(loader.async) {\n\t loader.getSource(name, handle);\n\t }\n\t else {\n\t handle(null, loader.getSource(name));\n\t }\n\t }, createTemplate);\n\n\t return syncResult;\n\t }\n\t },\n\n\t express: function(app) {\n\t var env = this;\n\n\t function NunjucksView(name, opts) {\n\t this.name = name;\n\t this.path = name;\n\t this.defaultEngine = opts.defaultEngine;\n\t this.ext = path.extname(name);\n\t if (!this.ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');\n\t if (!this.ext) this.name += (this.ext = ('.' !== this.defaultEngine[0] ? '.' : '') + this.defaultEngine);\n\t }\n\n\t NunjucksView.prototype.render = function(opts, cb) {\n\t env.render(this.name, opts, cb);\n\t };\n\n\t app.set('view', NunjucksView);\n\t app.set('nunjucksEnv', this);\n\t return this;\n\t },\n\n\t render: function(name, ctx, cb) {\n\t if(lib.isFunction(ctx)) {\n\t cb = ctx;\n\t ctx = null;\n\t }\n\n\t // We support a synchronous API to make it easier to migrate\n\t // existing code to async. This works because if you don't do\n\t // anything async work, the whole thing is actually run\n\t // synchronously.\n\t var syncResult = null;\n\n\t this.getTemplate(name, function(err, tmpl) {\n\t if(err && cb) {\n\t callbackAsap(cb, err);\n\t }\n\t else if(err) {\n\t throw err;\n\t }\n\t else {\n\t syncResult = tmpl.render(ctx, cb);\n\t }\n\t });\n\n\t return syncResult;\n\t },\n\n\t renderString: function(src, ctx, opts, cb) {\n\t if(lib.isFunction(opts)) {\n\t cb = opts;\n\t opts = {};\n\t }\n\t opts = opts || {};\n\n\t var tmpl = new Template(src, this, opts.path);\n\t return tmpl.render(ctx, cb);\n\t }\n\t});\n\n\tvar Context = Obj.extend({\n\t init: function(ctx, blocks, env) {\n\t // Has to be tied to an environment so we can tap into its globals.\n\t this.env = env || new Environment();\n\n\t // Make a duplicate of ctx\n\t this.ctx = {};\n\t for(var k in ctx) {\n\t if(ctx.hasOwnProperty(k)) {\n\t this.ctx[k] = ctx[k];\n\t }\n\t }\n\n\t this.blocks = {};\n\t this.exported = [];\n\n\t for(var name in blocks) {\n\t this.addBlock(name, blocks[name]);\n\t }\n\t },\n\n\t lookup: function(name) {\n\t // This is one of the most called functions, so optimize for\n\t // the typical case where the name isn't in the globals\n\t if(name in this.env.globals && !(name in this.ctx)) {\n\t return this.env.globals[name];\n\t }\n\t else {\n\t return this.ctx[name];\n\t }\n\t },\n\n\t setVariable: function(name, val) {\n\t this.ctx[name] = val;\n\t },\n\n\t getVariables: function() {\n\t return this.ctx;\n\t },\n\n\t addBlock: function(name, block) {\n\t this.blocks[name] = this.blocks[name] || [];\n\t this.blocks[name].push(block);\n\t return this;\n\t },\n\n\t getBlock: function(name) {\n\t if(!this.blocks[name]) {\n\t throw new Error('unknown block \"' + name + '\"');\n\t }\n\n\t return this.blocks[name][0];\n\t },\n\n\t getSuper: function(env, name, block, frame, runtime, cb) {\n\t var idx = lib.indexOf(this.blocks[name] || [], block);\n\t var blk = this.blocks[name][idx + 1];\n\t var context = this;\n\n\t if(idx === -1 || !blk) {\n\t throw new Error('no super block available for \"' + name + '\"');\n\t }\n\n\t blk(env, context, frame, runtime, cb);\n\t },\n\n\t addExport: function(name) {\n\t this.exported.push(name);\n\t },\n\n\t getExported: function() {\n\t var exported = {};\n\t for(var i=0; i capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\tvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\t// A simple class system, more documentation to come\n\n\tfunction extend(cls, name, props) {\n\t // This does that same thing as Object.create, but with support for IE8\n\t var F = function() {};\n\t F.prototype = cls.prototype;\n\t var prototype = new F();\n\n\t // jshint undef: false\n\t var fnTest = /xyz/.test(function(){ xyz; }) ? /\\bparent\\b/ : /.*/;\n\t props = props || {};\n\n\t for(var k in props) {\n\t var src = props[k];\n\t var parent = prototype[k];\n\n\t if(typeof parent === 'function' &&\n\t typeof src === 'function' &&\n\t fnTest.test(src)) {\n\t /*jshint -W083 */\n\t prototype[k] = (function (src, parent) {\n\t return function() {\n\t // Save the current parent method\n\t var tmp = this.parent;\n\n\t // Set parent to the previous method, call, and restore\n\t this.parent = parent;\n\t var res = src.apply(this, arguments);\n\t this.parent = tmp;\n\n\t return res;\n\t };\n\t })(src, parent);\n\t }\n\t else {\n\t prototype[k] = src;\n\t }\n\t }\n\n\t prototype.typename = name;\n\n\t var new_cls = function() {\n\t if(prototype.init) {\n\t prototype.init.apply(this, arguments);\n\t }\n\t };\n\n\t new_cls.prototype = prototype;\n\t new_cls.prototype.constructor = new_cls;\n\n\t new_cls.extend = function(name, props) {\n\t if(typeof name === 'object') {\n\t props = name;\n\t name = 'anonymous';\n\t }\n\t return extend(new_cls, name, props);\n\t };\n\n\t return new_cls;\n\t}\n\n\tmodule.exports = extend(Object, 'Object', {});\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar r = __webpack_require__(8);\n\n\tfunction normalize(value, defaultValue) {\n\t if(value === null || value === undefined || value === false) {\n\t return defaultValue;\n\t }\n\t return value;\n\t}\n\n\tvar filters = {\n\t abs: function(n) {\n\t return Math.abs(n);\n\t },\n\n\t batch: function(arr, linecount, fill_with) {\n\t var i;\n\t var res = [];\n\t var tmp = [];\n\n\t for(i = 0; i < arr.length; i++) {\n\t if(i % linecount === 0 && tmp.length) {\n\t res.push(tmp);\n\t tmp = [];\n\t }\n\n\t tmp.push(arr[i]);\n\t }\n\n\t if(tmp.length) {\n\t if(fill_with) {\n\t for(i = tmp.length; i < linecount; i++) {\n\t tmp.push(fill_with);\n\t }\n\t }\n\n\t res.push(tmp);\n\t }\n\n\t return res;\n\t },\n\n\t capitalize: function(str) {\n\t str = normalize(str, '');\n\t var ret = str.toLowerCase();\n\t return r.copySafeness(str, ret.charAt(0).toUpperCase() + ret.slice(1));\n\t },\n\n\t center: function(str, width) {\n\t str = normalize(str, '');\n\t width = width || 80;\n\n\t if(str.length >= width) {\n\t return str;\n\t }\n\n\t var spaces = width - str.length;\n\t var pre = lib.repeat(' ', spaces/2 - spaces % 2);\n\t var post = lib.repeat(' ', spaces/2);\n\t return r.copySafeness(str, pre + str + post);\n\t },\n\n\t 'default': function(val, def, bool) {\n\t if(bool) {\n\t return val ? val : def;\n\t }\n\t else {\n\t return (val !== undefined) ? val : def;\n\t }\n\t },\n\n\t dictsort: function(val, case_sensitive, by) {\n\t if (!lib.isObject(val)) {\n\t throw new lib.TemplateError('dictsort filter: val must be an object');\n\t }\n\n\t var array = [];\n\t for (var k in val) {\n\t // deliberately include properties from the object's prototype\n\t array.push([k,val[k]]);\n\t }\n\n\t var si;\n\t if (by === undefined || by === 'key') {\n\t si = 0;\n\t } else if (by === 'value') {\n\t si = 1;\n\t } else {\n\t throw new lib.TemplateError(\n\t 'dictsort filter: You can only sort by either key or value');\n\t }\n\n\t array.sort(function(t1, t2) {\n\t var a = t1[si];\n\t var b = t2[si];\n\n\t if (!case_sensitive) {\n\t if (lib.isString(a)) {\n\t a = a.toUpperCase();\n\t }\n\t if (lib.isString(b)) {\n\t b = b.toUpperCase();\n\t }\n\t }\n\n\t return a > b ? 1 : (a === b ? 0 : -1);\n\t });\n\n\t return array;\n\t },\n\n\t dump: function(obj) {\n\t return JSON.stringify(obj);\n\t },\n\n\t escape: function(str) {\n\t if(str instanceof r.SafeString) {\n\t return str;\n\t }\n\t str = (str === null || str === undefined) ? '' : str;\n\t return r.markSafe(lib.escape(str.toString()));\n\t },\n\n\t safe: function(str) {\n\t if (str instanceof r.SafeString) {\n\t return str;\n\t }\n\t str = (str === null || str === undefined) ? '' : str;\n\t return r.markSafe(str.toString());\n\t },\n\n\t first: function(arr) {\n\t return arr[0];\n\t },\n\n\t groupby: function(arr, attr) {\n\t return lib.groupBy(arr, attr);\n\t },\n\n\t indent: function(str, width, indentfirst) {\n\t str = normalize(str, '');\n\n\t if (str === '') return '';\n\n\t width = width || 4;\n\t var res = '';\n\t var lines = str.split('\\n');\n\t var sp = lib.repeat(' ', width);\n\n\t for(var i=0; i .a.b.c.\n\t res = new_ + str.split('').join(new_) + new_;\n\t return r.copySafeness(str, res);\n\t }\n\n\t var nextIndex = str.indexOf(old);\n\t // if # of replacements to perform is 0, or the string to does\n\t // not contain the old value, return the string\n\t if(maxCount === 0 || nextIndex === -1){\n\t return str;\n\t }\n\n\t var pos = 0;\n\t var count = 0; // # of replacements made\n\n\t while(nextIndex > -1 && (maxCount === -1 || count < maxCount)){\n\t // Grab the next chunk of src string and add it with the\n\t // replacement, to the result\n\t res += str.substring(pos, nextIndex) + new_;\n\t // Increment our pointer in the src string\n\t pos = nextIndex + old.length;\n\t count++;\n\t // See if there are any more replacements to be made\n\t nextIndex = str.indexOf(old, pos);\n\t }\n\n\t // We've either reached the end, or done the max # of\n\t // replacements, tack on any remaining string\n\t if(pos < str.length) {\n\t res += str.substring(pos);\n\t }\n\n\t return r.copySafeness(originalStr, res);\n\t },\n\n\t reverse: function(val) {\n\t var arr;\n\t if(lib.isString(val)) {\n\t arr = filters.list(val);\n\t }\n\t else {\n\t // Copy it\n\t arr = lib.map(val, function(v) { return v; });\n\t }\n\n\t arr.reverse();\n\n\t if(lib.isString(val)) {\n\t return r.copySafeness(val, arr.join(''));\n\t }\n\t return arr;\n\t },\n\n\t round: function(val, precision, method) {\n\t precision = precision || 0;\n\t var factor = Math.pow(10, precision);\n\t var rounder;\n\n\t if(method === 'ceil') {\n\t rounder = Math.ceil;\n\t }\n\t else if(method === 'floor') {\n\t rounder = Math.floor;\n\t }\n\t else {\n\t rounder = Math.round;\n\t }\n\n\t return rounder(val * factor) / factor;\n\t },\n\n\t slice: function(arr, slices, fillWith) {\n\t var sliceLength = Math.floor(arr.length / slices);\n\t var extra = arr.length % slices;\n\t var offset = 0;\n\t var res = [];\n\n\t for(var i=0; i= extra) {\n\t slice.push(fillWith);\n\t }\n\t res.push(slice);\n\t }\n\n\t return res;\n\t },\n\n\t sum: function(arr, attr, start) {\n\t var sum = 0;\n\n\t if(typeof start === 'number'){\n\t sum += start;\n\t }\n\n\t if(attr) {\n\t arr = lib.map(arr, function(v) {\n\t return v[attr];\n\t });\n\t }\n\n\t for(var i = 0; i < arr.length; i++) {\n\t sum += arr[i];\n\t }\n\n\t return sum;\n\t },\n\n\t sort: r.makeMacro(['value', 'reverse', 'case_sensitive', 'attribute'], [], function(arr, reverse, caseSens, attr) {\n\t // Copy it\n\t arr = lib.map(arr, function(v) { return v; });\n\n\t arr.sort(function(a, b) {\n\t var x, y;\n\n\t if(attr) {\n\t x = a[attr];\n\t y = b[attr];\n\t }\n\t else {\n\t x = a;\n\t y = b;\n\t }\n\n\t if(!caseSens && lib.isString(x) && lib.isString(y)) {\n\t x = x.toLowerCase();\n\t y = y.toLowerCase();\n\t }\n\n\t if(x < y) {\n\t return reverse ? 1 : -1;\n\t }\n\t else if(x > y) {\n\t return reverse ? -1: 1;\n\t }\n\t else {\n\t return 0;\n\t }\n\t });\n\n\t return arr;\n\t }),\n\n\t string: function(obj) {\n\t return r.copySafeness(obj, obj);\n\t },\n\n\t striptags: function(input, preserve_linebreaks) {\n\t input = normalize(input, '');\n\t preserve_linebreaks = preserve_linebreaks || false;\n\t var tags = /<\\/?([a-z][a-z0-9]*)\\b[^>]*>|/gi;\n\t var trimmedInput = filters.trim(input.replace(tags, ''));\n\t var res = '';\n\t if (preserve_linebreaks) {\n\t res = trimmedInput\n\t .replace(/^ +| +$/gm, '') // remove leading and trailing spaces\n\t .replace(/ +/g, ' ') // squash adjacent spaces\n\t .replace(/(\\r\\n)/g, '\\n') // normalize linebreaks (CRLF -> LF)\n\t .replace(/\\n\\n\\n+/g, '\\n\\n'); // squash abnormal adjacent linebreaks\n\t } else {\n\t res = trimmedInput.replace(/\\s+/gi, ' ');\n\t }\n\t return r.copySafeness(input, res);\n\t },\n\n\t title: function(str) {\n\t str = normalize(str, '');\n\t var words = str.split(' ');\n\t for(var i = 0; i < words.length; i++) {\n\t words[i] = filters.capitalize(words[i]);\n\t }\n\t return r.copySafeness(str, words.join(' '));\n\t },\n\n\t trim: function(str) {\n\t return r.copySafeness(str, str.replace(/^\\s*|\\s*$/g, ''));\n\t },\n\n\t truncate: function(input, length, killwords, end) {\n\t var orig = input;\n\t input = normalize(input, '');\n\t length = length || 255;\n\n\t if (input.length <= length)\n\t return input;\n\n\t if (killwords) {\n\t input = input.substring(0, length);\n\t } else {\n\t var idx = input.lastIndexOf(' ', length);\n\t if(idx === -1) {\n\t idx = length;\n\t }\n\n\t input = input.substring(0, idx);\n\t }\n\n\t input += (end !== undefined && end !== null) ? end : '...';\n\t return r.copySafeness(orig, input);\n\t },\n\n\t upper: function(str) {\n\t str = normalize(str, '');\n\t return str.toUpperCase();\n\t },\n\n\t urlencode: function(obj) {\n\t var enc = encodeURIComponent;\n\t if (lib.isString(obj)) {\n\t return enc(obj);\n\t } else {\n\t var parts;\n\t if (lib.isArray(obj)) {\n\t parts = obj.map(function(item) {\n\t return enc(item[0]) + '=' + enc(item[1]);\n\t });\n\t } else {\n\t parts = [];\n\t for (var k in obj) {\n\t if (obj.hasOwnProperty(k)) {\n\t parts.push(enc(k) + '=' + enc(obj[k]));\n\t }\n\t }\n\t }\n\t return parts.join('&');\n\t }\n\t },\n\n\t urlize: function(str, length, nofollow) {\n\t if (isNaN(length)) length = Infinity;\n\n\t var noFollowAttr = (nofollow === true ? ' rel=\"nofollow\"' : '');\n\n\t // For the jinja regexp, see\n\t // https://github.com/mitsuhiko/jinja2/blob/f15b814dcba6aa12bc74d1f7d0c881d55f7126be/jinja2/utils.py#L20-L23\n\t var puncRE = /^(?:\\(|<|<)?(.*?)(?:\\.|,|\\)|\\n|>)?$/;\n\t // from http://blog.gerv.net/2011/05/html5_email_address_regexp/\n\t var emailRE = /^[\\w.!#$%&'*+\\-\\/=?\\^`{|}~]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)+$/i;\n\t var httpHttpsRE = /^https?:\\/\\/.*$/;\n\t var wwwRE = /^www\\./;\n\t var tldRE = /\\.(?:org|net|com)(?:\\:|\\/|$)/;\n\n\t var words = str.split(/(\\s+)/).filter(function(word) {\n\t // If the word has no length, bail. This can happen for str with\n\t // trailing whitespace.\n\t return word && word.length;\n\t }).map(function(word) {\n\t var matches = word.match(puncRE);\n\t var possibleUrl = matches && matches[1] || word;\n\n\t // url that starts with http or https\n\t if (httpHttpsRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t // url that starts with www.\n\t if (wwwRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t // an email address of the form username@domain.tld\n\t if (emailRE.test(possibleUrl))\n\t return '' + possibleUrl + '';\n\n\t // url that ends in .com, .org or .net that is not an email address\n\t if (tldRE.test(possibleUrl))\n\t return '' + possibleUrl.substr(0, length) + '';\n\n\t return word;\n\n\t });\n\n\t return words.join('');\n\t },\n\n\t wordcount: function(str) {\n\t str = normalize(str, '');\n\t var words = (str) ? str.match(/\\w+/g) : null;\n\t return (words) ? words.length : null;\n\t },\n\n\t 'float': function(val, def) {\n\t var res = parseFloat(val);\n\t return isNaN(res) ? def : res;\n\t },\n\n\t 'int': function(val, def) {\n\t var res = parseInt(val, 10);\n\t return isNaN(res) ? def : res;\n\t }\n\t};\n\n\t// Aliases\n\tfilters.d = filters['default'];\n\tfilters.e = filters.escape;\n\n\tmodule.exports = filters;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar lib = __webpack_require__(1);\n\tvar Obj = __webpack_require__(6);\n\n\t// Frames keep track of scoping both at compile-time and run-time so\n\t// we know how to access variables. Block tags can introduce special\n\t// variables, for example.\n\tvar Frame = Obj.extend({\n\t init: function(parent, isolateWrites) {\n\t this.variables = {};\n\t this.parent = parent;\n\t this.topLevel = false;\n\t // if this is true, writes (set) should never propagate upwards past\n\t // this frame to its parent (though reads may).\n\t this.isolateWrites = isolateWrites;\n\t },\n\n\t set: function(name, val, resolveUp) {\n\t // Allow variables with dots by automatically creating the\n\t // nested structure\n\t var parts = name.split('.');\n\t var obj = this.variables;\n\t var frame = this;\n\n\t if(resolveUp) {\n\t if((frame = this.resolve(parts[0], true))) {\n\t frame.set(name, val);\n\t return;\n\t }\n\t }\n\n\t for(var i=0; i argNames.length) {\n\t args = Array.prototype.slice.call(arguments, 0, argNames.length);\n\n\t // Positional arguments that should be passed in as\n\t // keyword arguments (essentially default values)\n\t var vals = Array.prototype.slice.call(arguments, args.length, argCount);\n\t for(i = 0; i < vals.length; i++) {\n\t if(i < kwargNames.length) {\n\t kwargs[kwargNames[i]] = vals[i];\n\t }\n\t }\n\n\t args.push(kwargs);\n\t }\n\t else if(argCount < argNames.length) {\n\t args = Array.prototype.slice.call(arguments, 0, argCount);\n\n\t for(i = argCount; i < argNames.length; i++) {\n\t var arg = argNames[i];\n\n\t // Keyword arguments that should be passed as\n\t // positional arguments, i.e. the caller explicitly\n\t // used the name of a positional arg\n\t args.push(kwargs[arg]);\n\t delete kwargs[arg];\n\t }\n\n\t args.push(kwargs);\n\t }\n\t else {\n\t args = arguments;\n\t }\n\n\t return func.apply(this, args);\n\t };\n\t}\n\n\tfunction makeKeywordArgs(obj) {\n\t obj.__keywords = true;\n\t return obj;\n\t}\n\n\tfunction getKeywordArgs(args) {\n\t var len = args.length;\n\t if(len) {\n\t var lastArg = args[len - 1];\n\t if(lastArg && lastArg.hasOwnProperty('__keywords')) {\n\t return lastArg;\n\t }\n\t }\n\t return {};\n\t}\n\n\tfunction numArgs(args) {\n\t var len = args.length;\n\t if(len === 0) {\n\t return 0;\n\t }\n\n\t var lastArg = args[len - 1];\n\t if(lastArg && lastArg.hasOwnProperty('__keywords')) {\n\t return len - 1;\n\t }\n\t else {\n\t return len;\n\t }\n\t}\n\n\t// A SafeString object indicates that the string should not be\n\t// autoescaped. This happens magically because autoescaping only\n\t// occurs on primitive string objects.\n\tfunction SafeString(val) {\n\t if(typeof val !== 'string') {\n\t return val;\n\t }\n\n\t this.val = val;\n\t this.length = val.length;\n\t}\n\n\tSafeString.prototype = Object.create(String.prototype, {\n\t length: { writable: true, configurable: true, value: 0 }\n\t});\n\tSafeString.prototype.valueOf = function() {\n\t return this.val;\n\t};\n\tSafeString.prototype.toString = function() {\n\t return this.val;\n\t};\n\n\tfunction copySafeness(dest, target) {\n\t if(dest instanceof SafeString) {\n\t return new SafeString(target);\n\t }\n\t return target.toString();\n\t}\n\n\tfunction markSafe(val) {\n\t var type = typeof val;\n\n\t if(type === 'string') {\n\t return new SafeString(val);\n\t }\n\t else if(type !== 'function') {\n\t return val;\n\t }\n\t else {\n\t return function() {\n\t var ret = val.apply(this, arguments);\n\n\t if(typeof ret === 'string') {\n\t return new SafeString(ret);\n\t }\n\n\t return ret;\n\t };\n\t }\n\t}\n\n\tfunction suppressValue(val, autoescape) {\n\t val = (val !== undefined && val !== null) ? val : '';\n\n\t if(autoescape && !(val instanceof SafeString)) {\n\t val = lib.escape(val.toString());\n\t }\n\n\t return val;\n\t}\n\n\tfunction ensureDefined(val, lineno, colno) {\n\t if(val === null || val === undefined) {\n\t throw new lib.TemplateError(\n\t 'attempted to output null or undefined value',\n\t lineno + 1,\n\t colno + 1\n\t );\n\t }\n\t return val;\n\t}\n\n\tfunction memberLookup(obj, val) {\n\t obj = obj || {};\n\n\t if(typeof obj[val] === 'function') {\n\t return function() {\n\t return obj[val].apply(obj, arguments);\n\t };\n\t }\n\n\t return obj[val];\n\t}\n\n\tfunction callWrap(obj, name, context, args) {\n\t if(!obj) {\n\t throw new Error('Unable to call `' + name + '`, which is undefined or falsey');\n\t }\n\t else if(typeof obj !== 'function') {\n\t throw new Error('Unable to call `' + name + '`, which is not a function');\n\t }\n\n\t // jshint validthis: true\n\t return obj.apply(context, args);\n\t}\n\n\tfunction contextOrFrameLookup(context, frame, name) {\n\t var val = frame.lookup(name);\n\t return (val !== undefined && val !== null) ?\n\t val :\n\t context.lookup(name);\n\t}\n\n\tfunction handleError(error, lineno, colno) {\n\t if(error.lineno) {\n\t return error;\n\t }\n\t else {\n\t return new lib.TemplateError(error, lineno, colno);\n\t }\n\t}\n\n\tfunction asyncEach(arr, dimen, iter, cb) {\n\t if(lib.isArray(arr)) {\n\t var len = arr.length;\n\n\t lib.asyncIter(arr, function(item, i, next) {\n\t switch(dimen) {\n\t case 1: iter(item, i, len, next); break;\n\t case 2: iter(item[0], item[1], i, len, next); break;\n\t case 3: iter(item[0], item[1], item[2], i, len, next); break;\n\t default:\n\t item.push(i, next);\n\t iter.apply(this, item);\n\t }\n\t }, cb);\n\t }\n\t else {\n\t lib.asyncFor(arr, function(key, val, i, len, next) {\n\t iter(key, val, i, len, next);\n\t }, cb);\n\t }\n\t}\n\n\tfunction asyncAll(arr, dimen, func, cb) {\n\t var finished = 0;\n\t var len, i;\n\t var outputArr;\n\n\t function done(i, output) {\n\t finished++;\n\t outputArr[i] = output;\n\n\t if(finished === len) {\n\t cb(null, outputArr.join(''));\n\t }\n\t }\n\n\t if(lib.isArray(arr)) {\n\t len = arr.length;\n\t outputArr = new Array(len);\n\n\t if(len === 0) {\n\t cb(null, '');\n\t }\n\t else {\n\t for(i = 0; i < arr.length; i++) {\n\t var item = arr[i];\n\n\t switch(dimen) {\n\t case 1: func(item, i, len, done); break;\n\t case 2: func(item[0], item[1], i, len, done); break;\n\t case 3: func(item[0], item[1], item[2], i, len, done); break;\n\t default:\n\t item.push(i, done);\n\t // jshint validthis: true\n\t func.apply(this, item);\n\t }\n\t }\n\t }\n\t }\n\t else {\n\t var keys = lib.keys(arr);\n\t len = keys.length;\n\t outputArr = new Array(len);\n\n\t if(len === 0) {\n\t cb(null, '');\n\t }\n\t else {\n\t for(i = 0; i < keys.length; i++) {\n\t var k = keys[i];\n\t func(k, arr[k], i, len, done);\n\t }\n\t }\n\t }\n\t}\n\n\tmodule.exports = {\n\t Frame: Frame,\n\t makeMacro: makeMacro,\n\t makeKeywordArgs: makeKeywordArgs,\n\t numArgs: numArgs,\n\t suppressValue: suppressValue,\n\t ensureDefined: ensureDefined,\n\t memberLookup: memberLookup,\n\t contextOrFrameLookup: contextOrFrameLookup,\n\t callWrap: callWrap,\n\t handleError: handleError,\n\t isArray: lib.isArray,\n\t keys: lib.keys,\n\t SafeString: SafeString,\n\t copySafeness: copySafeness,\n\t markSafe: markSafe,\n\t asyncEach: asyncEach,\n\t asyncAll: asyncAll,\n\t inOperator: lib.inOperator\n\t};\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\n\tfunction cycler(items) {\n\t var index = -1;\n\n\t return {\n\t current: null,\n\t reset: function() {\n\t index = -1;\n\t this.current = null;\n\t },\n\n\t next: function() {\n\t index++;\n\t if(index >= items.length) {\n\t index = 0;\n\t }\n\n\t this.current = items[index];\n\t return this.current;\n\t },\n\t };\n\n\t}\n\n\tfunction joiner(sep) {\n\t sep = sep || ',';\n\t var first = true;\n\n\t return function() {\n\t var val = first ? '' : sep;\n\t first = false;\n\t return val;\n\t };\n\t}\n\n\t// Making this a function instead so it returns a new object\n\t// each time it's called. That way, if something like an environment\n\t// uses it, they will each have their own copy.\n\tfunction globals() {\n\t return {\n\t range: function(start, stop, step) {\n\t if(typeof stop === 'undefined') {\n\t stop = start;\n\t start = 0;\n\t step = 1;\n\t }\n\t else if(!step) {\n\t step = 1;\n\t }\n\n\t var arr = [];\n\t var i;\n\t if (step > 0) {\n\t for (i=start; istop; i+=step) {\n\t arr.push(i);\n\t }\n\t }\n\t return arr;\n\t },\n\n\t // lipsum: function(n, html, min, max) {\n\t // },\n\n\t cycler: function() {\n\t return cycler(Array.prototype.slice.call(arguments));\n\t },\n\n\t joiner: function(sep) {\n\t return joiner(sep);\n\t }\n\t };\n\t}\n\n\tmodule.exports = globals;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar Loader = __webpack_require__(11);\n\n\tvar PrecompiledLoader = Loader.extend({\n\t init: function(compiledTemplates) {\n\t this.precompiled = compiledTemplates || {};\n\t },\n\n\t getSource: function(name) {\n\t if (this.precompiled[name]) {\n\t return {\n\t src: { type: 'code',\n\t obj: this.precompiled[name] },\n\t path: name\n\t };\n\t }\n\t return null;\n\t }\n\t});\n\n\tmodule.exports = PrecompiledLoader;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar path = __webpack_require__(3);\n\tvar Obj = __webpack_require__(6);\n\tvar lib = __webpack_require__(1);\n\n\tvar Loader = Obj.extend({\n\t on: function(name, func) {\n\t this.listeners = this.listeners || {};\n\t this.listeners[name] = this.listeners[name] || [];\n\t this.listeners[name].push(func);\n\t },\n\n\t emit: function(name /*, arg1, arg2, ...*/) {\n\t var args = Array.prototype.slice.call(arguments, 1);\n\n\t if(this.listeners && this.listeners[name]) {\n\t lib.each(this.listeners[name], function(listener) {\n\t listener.apply(null, args);\n\t });\n\t }\n\t },\n\n\t resolve: function(from, to) {\n\t return path.resolve(path.dirname(from), to);\n\t },\n\n\t isRelative: function(filename) {\n\t return (filename.indexOf('./') === 0 || filename.indexOf('../') === 0);\n\t }\n\t});\n\n\tmodule.exports = Loader;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\tfunction installCompat() {\n\t 'use strict';\n\n\t // This must be called like `nunjucks.installCompat` so that `this`\n\t // references the nunjucks instance\n\t var runtime = this.runtime; // jshint ignore:line\n\t var lib = this.lib; // jshint ignore:line\n\n\t var orig_contextOrFrameLookup = runtime.contextOrFrameLookup;\n\t runtime.contextOrFrameLookup = function(context, frame, key) {\n\t var val = orig_contextOrFrameLookup.apply(this, arguments);\n\t if (val === undefined) {\n\t switch (key) {\n\t case 'True':\n\t return true;\n\t case 'False':\n\t return false;\n\t case 'None':\n\t return null;\n\t }\n\t }\n\n\t return val;\n\t };\n\n\t var orig_memberLookup = runtime.memberLookup;\n\t var ARRAY_MEMBERS = {\n\t pop: function(index) {\n\t if (index === undefined) {\n\t return this.pop();\n\t }\n\t if (index >= this.length || index < 0) {\n\t throw new Error('KeyError');\n\t }\n\t return this.splice(index, 1);\n\t },\n\t remove: function(element) {\n\t for (var i = 0; i < this.length; i++) {\n\t if (this[i] === element) {\n\t return this.splice(i, 1);\n\t }\n\t }\n\t throw new Error('ValueError');\n\t },\n\t count: function(element) {\n\t var count = 0;\n\t for (var i = 0; i < this.length; i++) {\n\t if (this[i] === element) {\n\t count++;\n\t }\n\t }\n\t return count;\n\t },\n\t index: function(element) {\n\t var i;\n\t if ((i = this.indexOf(element)) === -1) {\n\t throw new Error('ValueError');\n\t }\n\t return i;\n\t },\n\t find: function(element) {\n\t return this.indexOf(element);\n\t },\n\t insert: function(index, elem) {\n\t return this.splice(index, 0, elem);\n\t }\n\t };\n\t var OBJECT_MEMBERS = {\n\t items: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push([k, this[k]]);\n\t }\n\t return ret;\n\t },\n\t values: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push(this[k]);\n\t }\n\t return ret;\n\t },\n\t keys: function() {\n\t var ret = [];\n\t for(var k in this) {\n\t ret.push(k);\n\t }\n\t return ret;\n\t },\n\t get: function(key, def) {\n\t var output = this[key];\n\t if (output === undefined) {\n\t output = def;\n\t }\n\t return output;\n\t },\n\t has_key: function(key) {\n\t return this.hasOwnProperty(key);\n\t },\n\t pop: function(key, def) {\n\t var output = this[key];\n\t if (output === undefined && def !== undefined) {\n\t output = def;\n\t } else if (output === undefined) {\n\t throw new Error('KeyError');\n\t } else {\n\t delete this[key];\n\t }\n\t return output;\n\t },\n\t popitem: function() {\n\t for (var k in this) {\n\t // Return the first object pair.\n\t var val = this[k];\n\t delete this[k];\n\t return [k, val];\n\t }\n\t throw new Error('KeyError');\n\t },\n\t setdefault: function(key, def) {\n\t if (key in this) {\n\t return this[key];\n\t }\n\t if (def === undefined) {\n\t def = null;\n\t }\n\t return this[key] = def;\n\t },\n\t update: function(kwargs) {\n\t for (var k in kwargs) {\n\t this[k] = kwargs[k];\n\t }\n\t return null; // Always returns None\n\t }\n\t };\n\t OBJECT_MEMBERS.iteritems = OBJECT_MEMBERS.items;\n\t OBJECT_MEMBERS.itervalues = OBJECT_MEMBERS.values;\n\t OBJECT_MEMBERS.iterkeys = OBJECT_MEMBERS.keys;\n\t runtime.memberLookup = function(obj, val, autoescape) { // jshint ignore:line\n\t obj = obj || {};\n\n\t // If the object is an object, return any of the methods that Python would\n\t // otherwise provide.\n\t if (lib.isArray(obj) && ARRAY_MEMBERS.hasOwnProperty(val)) {\n\t return function() {return ARRAY_MEMBERS[val].apply(obj, arguments);};\n\t }\n\n\t if (lib.isObject(obj) && OBJECT_MEMBERS.hasOwnProperty(val)) {\n\t return function() {return OBJECT_MEMBERS[val].apply(obj, arguments);};\n\t }\n\n\t return orig_memberLookup.apply(this, arguments);\n\t };\n\t}\n\n\tmodule.exports = installCompat;\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/nunjucks/browser/nunjucks-slim.js\n// module id = 14\n// module chunks = 0","import {unique, convert_bytes, convert_date, convert_time, convert_second, convert_price, plural_form} from './helpers'\n\n\nmodule.exports = function(env) {\n env.addGlobal('update', Object.assign);\n env.addGlobal('create_attribute', create_attribute);\n env.addGlobal('unique', unique);\n env.addFilter('convert_date', convert_date);\n env.addFilter('convert_time', convert_time);\n env.addFilter('convert_bytes', convert_bytes);\n env.addFilter('convert_second', convert_second);\n env.addFilter('convert_price', convert_price);\n env.addFilter('plural_form', plural_form);\n};\n\n\n/**\n * Принимает объект и возвращает строку атрибутов\n * @param attr_list\n * @returns {string}\n */\nfunction create_attribute (attr_list, old_attr) {\n let result = [];\n\n Object.keys(attr_list).forEach(key => {\n let value = attr_list[key];\n\n if (value || old_attr[key]) {\n if (Array.isArray(value)) {\n if (old_attr[key]) {\n value = value.concat(Array.isArray(old_attr[key]) ? old_attr[key] : [old_attr[key]]);\n }\n\n result.push(\n key + '=' + value.join(' ')\n );\n } else if (attr_list[key] instanceof Object) {\n result.concat(create_attribute(value));\n } else {\n if (old_attr[key]) {\n value += ' ' + (Array.isArray(old_attr[key]) ? old_attr[key].join(' ') : old_attr[key]);\n }\n\n result.push(\n key + '=\"' + value + '\"'\n );\n }\n }\n });\n\n return result.join(' ');\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/nunjucks.config.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../b-header/b-header.html\"] = require( \"../b-header/b-header.html\" );\ndependencies[\"../b-nav/b-nav.html\"] = require( \"../b-nav/b-nav.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-layout/b-layout.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 1) {\noutput += \"\\n \";\nvar t_1;\nt_1 = \"Физическое лицо\";\nframe.set(\"rightholder_type\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_1);\n}\noutput += \"\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 2) {\noutput += \"\\n \";\nvar t_2;\nt_2 = \"Индивидуальный предприниматель\";\nframe.set(\"rightholder_type\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_2);\n}\noutput += \"\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"type\") == 3) {\noutput += \"\\n \";\nvar t_3;\nt_3 = \"Юридическое лицо\";\nframe.set(\"rightholder_type\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"rightholder_type\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"rightholder_type\", t_3);\n}\noutput += \"\\n\";\n;\n}\n;\n}\n;\n}\noutput += \"\\n\\n
\\n \";\nenv.getTemplate(\"../b-header/b-header.html\", false, \"../../node_modules/common.web/blocks/b-layout/b-layout.html\", null, function(t_6,t_4) {\nif(t_6) { cb(t_6); return; }\nt_4.render(context.getVariables(), frame, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\noutput += t_5\noutput += \"\\n
\\n \";\nif(env.getFilter(\"length\").call(context, runtime.contextOrFrameLookup(context, frame, \"menu\"))) {\noutput += \"\\n
\\n \";\nenv.getTemplate(\"../b-nav/b-nav.html\", false, \"../../node_modules/common.web/blocks/b-layout/b-layout.html\", null, function(t_10,t_8) {\nif(t_10) { cb(t_10); return; }\nt_8.render(context.getVariables(), frame, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\noutput += t_9\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"footer_text\")), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\n})});\n}\noutput += \"\\n \";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_13,t_12) {\nif(t_13) { cb(t_13); return; }\noutput += t_12;\noutput += \"\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-layout/b-layout.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-layout/b-layout.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-header/b-header.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"current_user\")) {\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"post\"), env.opts.autoescape);\noutput += \"
\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-header/b-header.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-header/b-header.html","module.exports = function (nunjucks, env, obj, dependencies){\n\n var oldRoot = obj.root;\n\n obj.root = function( env, context, frame, runtime, ignoreMissing, cb ) {\n var oldGetTemplate = env.getTemplate;\n env.getTemplate = function (name, ec, parentName, ignoreMissing, cb) {\n if( typeof ec === \"function\" ) {\n cb = ec = false;\n }\n var _require = function (name) {\n try {\n // add a reference to the already resolved dependency here\n return dependencies[name];\n }\n catch (e) {\n if (frame.get(\"_require\")) {\n return frame.get(\"_require\")(name);\n }\n else {\n console.warn('Could not load template \"%s\"', name);\n }\n }\n };\n\n var tmpl = _require(name);\n frame.set(\"_require\", _require);\n\n if( ec ) tmpl.compile();\n cb( null, tmpl );\n };\n\n oldRoot(env, context, frame, runtime, ignoreMissing, function (err, res) {\n env.getTemplate = oldGetTemplate;\n cb( err, res );\n });\n };\n\n var src = {\n obj: obj,\n type: 'code'\n };\n\n return new nunjucks.Template(src, env);\n\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/nunjucks-loader/runtime-shim.js\n// module id = 18\n// module chunks = 0","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-nav/b-nav.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = \"/\";\nframe.set(\"home_url\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"home_url\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"home_url\", t_1);\n}\noutput += \"\\n\\n
\\n \";\nframe = frame.push();\nvar t_4 = runtime.contextOrFrameLookup(context, frame, \"menu\");\nif(t_4) {var t_3 = t_4.length;\nfor(var t_2=0; t_2 < t_4.length; t_2++) {\nvar t_5 = t_4[t_2];\nframe.set(\"item\", t_5);\nframe.set(\"loop.index\", t_2 + 1);\nframe.set(\"loop.index0\", t_2);\nframe.set(\"loop.revindex\", t_3 - t_2);\nframe.set(\"loop.revindex0\", t_3 - t_2 - 1);\nframe.set(\"loop.first\", t_2 === 0);\nframe.set(\"loop.last\", t_2 === t_3 - 1);\nframe.set(\"loop.length\", t_3);\noutput += \"\\n
\\n \\n
\\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_5),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\\n\\n \";\nif(runtime.memberLookup((t_5),\"menu\")) {\noutput += \"\\n
\\n \";\nframe = frame.push();\nvar t_8 = runtime.memberLookup((t_5),\"menu\");\nif(t_8) {var t_7 = t_8.length;\nfor(var t_6=0; t_6 < t_8.length; t_6++) {\nvar t_9 = t_8[t_6];\nframe.set(\"sub_item\", t_9);\nframe.set(\"loop.index\", t_6 + 1);\nframe.set(\"loop.index0\", t_6);\nframe.set(\"loop.revindex\", t_7 - t_6);\nframe.set(\"loop.revindex0\", t_7 - t_6 - 1);\nframe.set(\"loop.first\", t_6 === 0);\nframe.set(\"loop.last\", t_6 === t_7 - 1);\nframe.set(\"loop.length\", t_7);\noutput += \"\\n \\n
\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_9),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-nav/b-nav.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-nav/b-nav.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-loader/b-loader.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
Вход в систему…\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-loader/b-loader.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-loader/b-loader.html","import context from '../context'\nimport Router from 'blocko/router'\nimport Controller from 'blocko/controller'\nimport {attach_event, post, each} from 'blocko/helpers'\n\nconst USER_TYPE_ADMIN = 1;\nconst USER_TYPE_LEAD = 2;\nconst USER_TYPE_REP_MANAGER = 3;\nconst USER_TYPE_DISTR_MANAGER = 4;\n\nexport default class Base extends Controller {\n\n get TABLE_ROW_COUNT() {\n return 100;\n }\n\n get DEFAULT_PAGE() {\n return 1;\n }\n\n constructor() {\n\n super({}, context());\n\n if (window.location.pathname === '/') {\n window.location.replace('/reports/')\n }\n\n\n this.prepare_context({\n current_user: {\n path: '/api/red/user/get',\n handler: response => {\n if (response.success) {\n this.add('current_user', response.data);\n if (Router.has_url('Auth')) {\n this.url_for('Home');\n }\n } else {\n if (!Router.has_url('Auth')) {\n this.url_for('Auth');\n }\n }\n },\n error: error => {\n // todo Дописать когда prepare_context будет принимать error\n }\n },\n url_list: {\n path: '/api/red/url/list',\n handler: response => {\n let context_menu = this.get_param('menu');\n if (response.success && context_menu) {\n context_menu.push({\n name: 'СУПР',\n link: 'http://' + response.urls.vois_rms,\n icon: 'references',\n target: 'blank',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_REP_MANAGER, USER_TYPE_DISTR_MANAGER]\n });\n this.add('menu', context_menu);\n }\n }\n }\n }, () => {\n\n if (this.get_param('current_user')) {\n let user_type = this.get_param('current_user').user.type;\n let new_menu = [];\n\n each(this.get_param('menu'), item => {\n if (item.access.includes(user_type)) {\n new_menu.push(item);\n }\n });\n\n delete this.menu;\n this.add('menu', new_menu);\n }\n });\n }\n\n\n prepare_page(parent) {\n attach_event(document.querySelectorAll('.i-logout'), 'click', event => {\n post('/x/id/interface/orange/user/logout', {\n partner: 'vois'\n }, response => {\n this.url_for('Auth');\n });\n });\n super.prepare_page(document.body);\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/main.js","export default function () {\n\n const USER_TYPE_ADMIN = 1;\n const USER_TYPE_LEAD = 2;\n const USER_TYPE_REP_MANAGER = 3;\n const USER_TYPE_DISTR_MANAGER = 4;\n\n return {\n app_name: 'ВОИС Система распределения отчислений',\n footer_text: 'ВОИС: СРО, ' + new Date().getFullYear(),\n current_date: new Date().getTime() / 1000,\n current_year: new Date().getFullYear(),\n page_url: window.location.pathname + window.location.search + window.location.hash,\n home_url: '/reports/',\n status_list: [\n {uid: 1, name: 'Создан'},\n {uid: 2, name: 'В работе'},\n {uid: 3, name: 'К сверке'},\n {uid: 4, name: 'Сверка'},\n {uid: 5, name: 'Ошибка сверки'},\n {uid: 6, name: 'Сверен'},\n {uid: 7, name: 'К распределению'},\n {uid: 9, name: 'К сторнированию'},\n {uid: 10, name: 'Сторнирование'},\n {uid: 11, name: 'Ошибка сторнирования'}\n ],\n distribution_status: [\n {uid: 1, name: \"Заведено\"},\n {uid: 2, name: \"Формируется\"},\n {uid: 3, name: \"Создано\"},\n {uid: 4, name: \"К расчету\"},\n {uid: 5, name: \"Расчет\"},\n {uid: 6, name: \"Рассчитано\"},\n {uid: 7, name: \"К распределению\"},\n {uid: 8, name: \"Распределено\"},\n {uid: 9, name: \"Распределено частично\"},\n {uid: 10, name: \"Ошибка распределения\"},\n {uid: 11, name: \"Распределение\"},\n {uid: 12, name: \"Ошибка создания\"},\n {uid: 13, name: \"Ошибка расчета\"},\n {uid: 14, name: \"К сторнированию\"},\n {uid: 15, name: \"Сторнирование\"},\n {uid: 16, name: \"Ошибка сторнирования\"},\n ],\n user_type: [\n {uid: 1, name: 'Администратор'},\n {uid: 2, name: 'Руководство'},\n {uid: 3, name: 'Менеджер отчетов'},\n {uid: 4, name: 'Менеджер распределений'}\n ],\n recipients_type: [\n {uid: 1, name: 'Юридическое лицо'},\n {uid: 2, name: 'Индивидуальный предприниматель'},\n {uid: 3, name: 'Физическое лицо'}\n ],\n menu: [\n {\n name: 'Отчеты',\n link: '/reports/',\n icon: 'reports',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_REP_MANAGER]\n },\n {\n name: 'Рейтинги',\n link: '/ratings/',\n icon: 'ratings',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER]\n },\n {\n name: 'Распределения',\n link: '/distributions/',\n icon: 'distribution',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER]\n },\n {\n name: 'Отчётность',\n link: '#reporting/',\n icon: 'reporting',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER],\n menu: [\n {\n name: 'По распределению',\n link: '/reporting_distribution/'\n },\n {\n name: 'По получателям',\n link: '/reporting_recipients/'\n },\n {\n name: 'По пользователям',\n link: '/reporting_users/'\n },\n {\n name: 'По правообладателям',\n link: '/reporting_rightholders/'\n },\n {\n name: 'По начислениям',\n link: '/reporting_accruals/'\n },\n {\n name: 'Нераспределенный гонорар',\n link: '/reporting_retained_balance/'\n },\n {\n name: 'Статистика по FonMix',\n link: '/reporting_fonmix_statistics/'\n }\n ]\n },\n {\n name: 'Импорт',\n link: '#import',\n icon: 'references',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER],\n menu: [\n {\n name: 'Платежи',\n link: '/payments/'\n },\n {\n name: 'Файлы',\n link: '/payment_files/'\n },\n {\n name: 'Договоры',\n link: '/contracts/'\n },\n {\n name: 'Контрагенты',\n link: '/contragents/'\n },\n {\n name: 'Отчеты FonMix',\n link: '/fonmix_reports/'\n }\n ]\n },\n {\n name: 'Справочники',\n link: '/references/',\n icon: 'references',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER]\n },\n {\n name: 'Управление',\n link: '/control/',\n icon: 'control',\n access: [USER_TYPE_ADMIN]\n },\n {\n name: 'Документы правообладателя',\n link: '/rightholders_documents/',\n icon: 'reports',\n access: [USER_TYPE_ADMIN, USER_TYPE_LEAD, USER_TYPE_DISTR_MANAGER]\n }\n ]\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./source/context.js","import {each, get, post, parse_json, prepare_content} from './helpers'\nimport {set_context, flush_context, get_context} from './functions/context'\nimport render from './functions/render'\nimport Request from './functions/request'\nimport {change_config} from './config'\nimport Events from './events'\nimport Router from './router'\nimport iProgressBar from './widgets/i-progress-bar/i-progress-bar'\n\n\nlet ProgressBar = new iProgressBar();\n\n\nexport default class Controller extends Events {\n\n constructor(params={}, context={}) {\n super();\n\n this._params = Object.assign({}, params);\n\n this._requests = [];\n\n this._handlers = [];\n\n this._is_abort = false;\n\n flush_context();\n set_context(context);\n }\n\n\n /**\n * Перехода на страницу контроллера с передачей параметров\n * @param controller_name\n * @param query\n * @param params\n */\n url_for(controller_name, params={}, query=null) {\n this._is_abort = true;\n Request.abort(this._requests);\n\n let query_string = '';\n if (query) {\n query_string = this._dict_to_query(query);\n }\n Router.navigate(\n Router.get_url.apply({}, arguments) + query_string\n );\n }\n\n\n /**\n * Прервать рендер страници и вызвать ошибку из роута\n * @param code\n */\n abort(code) {\n this._is_abort = true;\n Router.abort(code);\n }\n\n\n /**\n * Добавление значения в контекст\n * @param key\n * @param value\n */\n add(key, value) {\n let data = {};\n data[key] = value;\n set_context(data);\n }\n\n\n /**\n * Получение значения из контекста\n * @param key\n * @returns {*}\n */\n get_param(key) {\n return get_context(key);\n }\n\n\n /**\n * Рендер шаблона\n * @param template\n * @param context\n * @returns {*}\n */\n render(template, context={}) {\n return render(template, Object.assign(this._scope, context));\n }\n\n\n /**\n * Рендер страници\n * @param template\n * @param context\n */\n render_page(template, context={}) {\n if (this._is_abort) {\n return;\n }\n\n ProgressBar.show();\n\n\n Request.stack_post(this._requests, data => {\n each(Object.keys(data), key => {\n if (data[key].data) {\n this.add(key, data[key].data);\n }\n });\n\n let handler;\n while (handler = this._handlers.shift()) {\n if (this._is_abort) {\n return;\n }\n handler();\n }\n\n\n this._run_render_page(template, context);\n });\n\n if (!this._handlers.length && !this._requests.length) {\n this._run_render_page(template, context);\n }\n }\n\n\n /**\n * Подготовка страници\n * @param parent\n */\n prepare_page(parent) {\n prepare_content(parent);\n }\n\n\n /**\n * Подгатовка контекста из апи\n * @param requests\n * @param handler\n */\n prepare_context(requests, handler) {\n if (handler) {\n this._handlers.push(handler);\n }\n this._requests.push(requests);\n }\n\n\n _run_render_page(template, context={}) {\n if (this._is_abort) {\n return;\n }\n\n this._scope = Object.assign(get_context(), context);\n\n ProgressBar.hide();\n\n document.body.innerHTML = this.render(\n template,\n {}\n );\n\n this.prepare_page(document.body);\n\n if (this.init) {\n this.init();\n }\n }\n\n /**\n * Преобразование объекта в query_string\n * @param dict\n * @returns {string}\n */\n _dict_to_query(dict) {\n let item;\n let query = [];\n for(item in dict) {\n if (dict.hasOwnProperty(item)) {\n let key = item;\n let value = dict[item];\n let chunk;\n\n if (value !== null && typeof value === \"object\") {\n chunk = this._dict_to_query(value);\n } else {\n chunk = encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n }\n\n query.push(chunk);\n }\n }\n return '?' + query.join(\"&\");\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/controller.js","/**\n * @type {{}}\n * @private\n */\nlet _scope = {};\n\n\n/**\n * Установка контекста\n * @param context\n * @returns {*}\n */\nexport function set_context(context) {\n return _scope = Object.assign(_scope, context);\n}\n\n\n/**\n * Очистка контекста\n */\nexport function flush_context() {\n _scope = {};\n}\n\n\n/**\n * Получить доступ к глобальному контексту\n * @param key\n * @returns {*}\n */\nexport function get_context(key) {\n return key ? _scope[key] : _scope;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/context.js","import Cookie from '../cookie'\n\n/**\n * Рендер шаблона, работает как для handlebars так и для nunjucks\n * @param template\n * @param context\n * @returns {*}\n */\nexport default function (template, context={}) {\n if (Cookie.get('debug') === '1') {\n console.log(context);\n }\n\n return template.render ? template.render(context) : template(context);\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/render.js","export default {\n\n get: function(name) {\n var matches = document.cookie.match(new RegExp(\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n },\n\n set: function(name, value, options) {\n options = options || {};\n\n var expires = options.expires;\n\n if (typeof expires == \"number\" && expires) {\n var d = new Date();\n d.setTime(d.getTime() + expires * 1000);\n expires = options.expires = d;\n }\n if (expires && expires.toUTCString) {\n options.expires = expires.toUTCString();\n }\n\n value = encodeURIComponent(value);\n\n var updatedCookie = name + \"=\" + value;\n\n for (var propName in options) {\n updatedCookie += \"; \" + propName;\n var propValue = options[propName];\n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document.cookie = updatedCookie;\n },\n\n remove: function(name) {\n this.set(name, \"\", {\n expires: 'Thu, 01 Jan 1970 00:00:01 GMT'\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/cookie.js","import Events from '../events'\nimport {post, get, each, parse_json} from '../helpers'\n\nlet STACK = [];\nlet is_run = false;\nlet xhr_links = {};\n\nlet Requests = {\n\n flush() {\n STACK = [];\n },\n\n\n /**\n * Прерывание всех запросов\n */\n abort(stack) {\n if (Array.isArray(stack)) {\n each(stack, item => {\n this.abort(item);\n })\n } else {\n each(Object.keys(stack), item => {\n let is_object = typeof item === 'object';\n let url = is_object ? item.path : item;\n\n if (xhr_links[url]) {\n xhr_links[url].abort();\n }\n });\n }\n },\n\n\n /**\n * Отправка POST запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n * @returns {*}\n */\n post: function(url, data, handler, error) {\n return post.apply({}, arguments);\n },\n\n\n /**\n * Отправка GET запроса\n * @param url\n * @param data\n * @param handler\n * @param error\n * @returns {*}\n */\n get: function(url, data, handler, error) {\n return get.apply({}, arguments);\n },\n\n\n /**\n * Добавление в очередь POST запросов\n */\n stack_post(requests={}, handler=undefined) {\n if (Array.isArray(requests)) {\n each(requests, (request, index) => {\n this.stack_post(request, response_data => {\n if (index == requests.length -1) {\n handler(response_data);\n }\n });\n });\n\n if (!requests.length) {\n handler({}, '');\n }\n } else {\n STACK.push({\n type: 'post',\n handler: handler,\n requests: requests\n });\n }\n run();\n },\n\n\n /**\n * Добавление в очередь GET запросов\n */\n stack_get(requests, handler=undefined) {\n if (Array.isArray(requests)) {\n each(requests, (request, index) => {\n this.stack_get(request, response_data => {\n if (index == requests.length -1) {\n handler(response_data)\n }\n });\n });\n\n if (!requests.length) {\n handler({}, '');\n }\n } else {\n STACK.push({\n type: 'get',\n handler: handler,\n requests: requests\n });\n }\n run();\n }\n};\n\n\n/**\n * Запус последовательного выбора из очереди\n */\nfunction run(response_data={}) {\n if (is_run || !STACK.length) {\n return;\n }\n\n let stack_object = STACK.shift();\n let count_requests = Object.keys(stack_object.requests).length;\n\n if (!count_requests) {\n return;\n }\n\n let callback = (key, handler, response, xhr) => {\n response_data[key] = parse_json(response);\n count_requests--;\n\n if (handler) {\n handler(response_data[key], response, xhr);\n }\n\n if (count_requests <= 0) {\n if(stack_object.handler) {\n stack_object.handler(response_data);\n }\n\n is_run = false;\n run(response_data);\n }\n };\n\n if (Requests[stack_object.type]) {\n is_run = true;\n each(Object.keys(stack_object.requests), key => {\n let request = stack_object.requests[key];\n let is_object = typeof request === 'object';\n\n let params = {\n url: is_object ? request.path : request,\n data: is_object ? request.data : {},\n handler: is_object ? request.handler : undefined,\n error: is_object ? request.error : undefined\n };\n xhr_links[params.url] = Requests[stack_object.type](\n params.url,\n params.data,\n callback.bind({}, key, params.handler),\n callback.bind({}, key, params.error)\n );\n });\n }\n}\n\n\nexport default Requests;\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/request.js","export default class Events {\n\n constructor() {\n this._events = {};\n }\n\n attach(event_name, handler) {\n if (!this._events[event_name]) {\n this._events[event_name] = [];\n }\n\n this._events[event_name].push(handler);\n }\n\n dispatch(event_name, params=[]) {\n if (this._events[event_name]) {\n this._events[event_name].forEach(function (handler) {\n handler.apply({}, params);\n });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/events.js","import Events from '../../events'\n\nexport default class iProgressBar extends Events {\n constructor() {\n super();\n this.timeout = 0;\n }\n\n show() {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n this.bar.classList.add('i-progress-bar_show');\n }.bind(this), 300);\n }\n\n hide() {\n clearTimeout(this.timeout);\n this.bar.classList.remove('i-progress-bar_show');\n }\n\n get bar() {\n let bar = document.querySelector('.i-progress-bar');\n\n if (!bar) {\n bar = document.createElement('DIV');\n bar.className = 'i-progress-bar';\n document.body.appendChild(bar);\n }\n\n return bar;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-progress-bar/i-progress-bar.js","import template from 'common.web/layouts/l-error/l-error.html';\nimport Controller from './main';\nimport Router from 'blocko/router';\n\n\nclass Error extends Controller {\n\n static get route() {\n return '/error/';\n }\n\n\n constructor() {\n super();\n super.add('menu', false);\n super.render_page(template);\n }\n}\n\nRouter.error_page(Error);\nRouter.add_page(Error);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/error.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../blocks/b-layout/b-layout.html\"] = require( \"../../blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/layouts/l-error/l-error.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../blocks/b-layout/b-layout.html\", true, \"../../node_modules/common.web/layouts/l-error/l-error.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nvar t_3;\nt_3 = \"404\";\nframe.set(\"error_code\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"error_code\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"error_code\", t_3);\n}\noutput += \"\\n\";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"errcode\")) {\noutput += \"\\n \";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_rightholder\")),\"errcode\");\nframe.set(\"error_code\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"error_code\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"error_code\", t_4);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\noutput += t_5;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"404\") {\noutput += \"\\n
Страница не найдена
\\n
\\n Похоже, страница была удалена или перемещена на другой адрес. Попробуйте начать с\\n главной страницы.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"403\") {\noutput += \"\\n
Доступ запрещён
\\n
\\n Из соображений безопасности мы не можем показать эту страницу. Попробуйте начать с\\n главной страницы.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"500\") {\noutput += \"\\n
Ошибка на сервере
\\n
\\n Похоже, возникла техническая ошибка. Наши специалисты уже получили сообщение об этом.\\n Попробуйте обновить страницу через пару минут.\\n
\\n
Код ошибки: \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"error_code\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"error_code\") == \"768\") {\noutput += \"\\n
Аккаунт заблокирован
\\n
\\n

30 июня 2016 г. модератор ВОИС заблокировал вашу учётную запись.

\\n

Если вы считаете, что произошла ошибка, обратитесь, пожалуйста, в службу поддержки:

\\n secretary@rosvois.ru +7 (499) 418-00-30\\n
\\n \";\n;\n}\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/layouts/l-error/l-error.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/layouts/l-error/l-error.html","import template from '../templates/l-home/l-home.html'\nimport report_list from '../templates/l-home/l-home__reports-list.html'\nimport modal_list from '../templates/l-home/l-home__add-report-modal-list.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {each, attach_event, get_widget, parse_json, post, convert_date, plural_form} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\nclass Home extends Controller {\n\n static get route() {\n return '/reports/';\n }\n\n\n constructor(params, query) {\n super();\n this.add('query', query);\n super.prepare_context({\n reports: {\n path: '/api/red/report/list',\n data: query\n },\n category: '/api/red/thesaurus/object/category/group/list'\n });\n\n if (query && query.month) {\n let date_timestamp = query.month.replace(':>=,', '_').replace(':<=', '').split('_');\n\n this.add('query_month', {\n timestamp: date_timestamp,\n display: convert_date(date_timestamp[0], 'month') + ' ' + convert_date(date_timestamp[0], 'year') + ' - ' + convert_date(date_timestamp[1], 'month') + ' ' + convert_date(date_timestamp[1], 'year')\n });\n }\n\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n content: document.querySelector('.l-home__reports-list'),\n buttons: {\n check_all: document.querySelector('.l-home__check-all'),\n check_item: document.querySelectorAll('.l-home__check-item')\n },\n table_row: document.querySelectorAll('.l-home__reports-list-tr'),\n table: document.querySelector('.l-home__reports-table'),\n footer_panel: document.querySelector('.l-home__reports-footer-panel'),\n combo_item: document.querySelectorAll('.b-combo__item'),\n radio_buttons: document.querySelectorAll('.b-combo input'),\n add_period_button: document.querySelector('.l-home-add-period-button'),\n input_month_begin: document.querySelector('.l-home__add-report-month-begin'),\n input_month_end: document.querySelector('.l-home__add-report-month-end'),\n input_contract_name: document.querySelector('.l-home__add-report-contract-name'),\n input_contract_id: document.querySelector('.l-home__add-report-contract-id'),\n input_month: document.querySelector('.l-home-add-month-input'),\n input_balance: document.querySelector('.l-home-add-period-balance'),\n add_month_button: document.querySelector('.l-home-add-month-button'),\n compare_button: document.querySelector('.l-home__compare-button'),\n remove_button: document.querySelector('.l-home__remove-button'),\n get_balance_button: document.querySelector('.l-home__button-get-sum'),\n b_jax_fom: document.querySelector('.b-ajax-form'),\n table_wrap: document.querySelector('.l-home__table-wrap'),\n commission_input: document.querySelector('.l-home__add-report-commission'),\n existing_reports_tbody: document.querySelector('.b-existing-reports-tbody'),\n input_month_hidden: document.querySelector('.l-home__add-report-month'),\n existing_reports: document.querySelector('.b-existing-reports'),\n commission_sum_input: document.querySelector('.l-home__add-report-commission-summ')\n };\n\n this.b_search = get_widget(document.querySelector('.l-home__search-reports'), 'bSearch');\n this.b_filter = get_widget(document.querySelector('.l-home__reports-filter'), 'bDropdownFilter');\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_input = get_widget(this.dom.input_contract_name, 'bInput');\n\n this.b_add_period_dropdown = get_widget(document.querySelector('.l-home-add-period-button'), 'bDropdown');\n this.b_add_period_calendar = get_widget(this.b_add_period_dropdown.dropdown.dom.box.querySelector('.b-dropdown-calendar'), 'bCalendar');\n\n this.b_add_month_dropdown = get_widget(this.dom.add_month_button, 'bDropdown');\n this.b_add_month_calendar = get_widget(this.b_add_month_dropdown.dropdown.dom.box.querySelector('.b-dropdown-calendar'), 'bCalendar');\n\n this.b_ajax_from = get_widget(this.dom.b_jax_fom, 'bAjaxForm');\n\n this.confirm_modal = get_widget(this.dom.compare_button, 'bConfirmModal');\n this.confirm_delete_modal = get_widget(this.dom.remove_button, 'bConfirmModal');\n\n attach_event(document.querySelectorAll('.b-combo__item input'), 'click', event => {\n event.stopPropagation();\n });\n\n this.b_combo_filter = get_widget(document.querySelector('.l-home__combo-filter'), 'bCombo');\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.balance = undefined;\n this.commission = undefined;\n this.commission_sum = undefined;\n\n this.suggest_selected_id = null;\n\n this.checked_items_count = 0;\n\n this.is_rendered = false;\n\n this.b_filter.form_submit(null, false);\n\n this._bind();\n }\n\n\n _bind() {\n\n attach_event(this.dom.input_balance, 'input', event => {\n let balance = event.target.value;\n\n this.dom.commission_sum_input.value = this._calc_commission_summ(balance, this.commission);\n });\n\n this.dom.input_balance.addEventListener('blur', event => {\n if (this._is_float(this.dom.input_balance.value)) {\n this.dom.input_balance.value = (parseFloat(this.dom.input_balance.value)).toFixed(2);\n }\n });\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this.dom.table.addEventListener('click', event => {\n if (event.target.parentNode.classList.contains('l-home__reports-list-tr')) {\n let id = event.target.parentNode.getAttribute('data-id');\n this.url_for('Report', {id: id});\n } else if (event.target.classList.contains('l-home__check-item')) {\n event.stopPropagation();\n\n let items_count = document.querySelectorAll('.l-home__check-item').length;\n\n this.checked_items_count = document.querySelectorAll('.l-home__check-item:checked').length;\n\n if (this.checked_items_count == 0) {\n this._hide_elements();\n this.dom.buttons.check_all.checked = false;\n } else if (this.checked_items_count == items_count) {\n this.dom.buttons.check_all.checked = true;\n this._show_elements();\n } else {\n this._show_elements();\n }\n }\n });\n\n this.b_combo_filter.attach('click', (instance) => {\n this._event_combo_filter(instance);\n });\n\n this.b_add_period_calendar.attach('get_value', widget => {\n let date_begin = widget.dates[0];\n let date_end = widget.dates[widget.dates.length - 1];\n if (date_begin) {\n let formated_value = convert_date(date_begin, 'month') + ' ' + convert_date(date_begin, 'year') + ' - ' + convert_date(date_end, 'month') + ' ' + convert_date(date_end, 'year');\n\n this.dom.input_month_begin.value = date_begin;\n this.dom.input_month_end.value = date_end;\n this.dom.input_month_hidden.value = date_begin + ':>=,' + date_end + ':<=';\n this.dom.add_period_button.value = formated_value;\n this.dom.input_contract_name.removeAttribute('disabled');\n }\n });\n\n this.b_add_month_calendar.attach('get_value', widget => {\n let date_begin = widget.dates[0];\n let date_end = widget.dates[widget.dates.length - 1];\n if (date_begin) {\n let formated_value = convert_date(date_begin, 'month') + ' ' + convert_date(date_begin, 'year') + ' - ' + convert_date(date_end, 'month') + ' ' + convert_date(date_end, 'year');\n\n this.dom.add_month_button.value = date_begin + ':>=,' + date_end + ':<=';\n this.dom.add_month_button.innerHTML = formated_value;\n this.dom.add_month_button.setAttribute('data-alt-value', formated_value);\n }\n });\n\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._reset_search(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n\n if (!widget.form.dict.month) {\n this.b_add_month_calendar.reset();\n }\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter(widget);\n this.b_add_month_calendar.reset();\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.b_ajax_from.attach('response', (context, response) => {\n\n this.b_ajax_from.stop_reload();\n\n if (response.success == 1) {\n location.replace('/reports/' + response.data.report_list[0].id + '/');\n } else {\n let iform_fields = context.dom.widget.__list_widget__[0].fields;\n\n each(iform_fields, field => {\n let field_widget = field.widget;\n\n if (response.errfields[field_widget.name]) {\n field_widget.set_error_message(response.errfields[field_widget.name]);\n }\n });\n }\n });\n\n\n this.b_input.attach('suggest_click', (index, event) => {\n this.suggest_selected_id = this.contracts_id_list[index];\n this._get_balance(event);\n });\n\n this.dom.get_balance_button.addEventListener('click', this._get_balance.bind(this));\n\n\n this.dom.buttons.check_all.addEventListener('click', event => {\n event.stopPropagation();\n\n let check_items = document.querySelectorAll('.l-home__check-item');\n\n if (event.target.checked) {\n each(check_items, item => {\n item.checked = true;\n });\n this._show_elements();\n } else {\n each(check_items, item => {\n item.checked = false;\n });\n this._hide_elements();\n }\n this.checked_items_count = document.querySelectorAll('.l-home__check-item:checked').length;\n });\n\n this.dom.input_contract_name.addEventListener('input', event => {\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contract/list', {search: value}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.contracts_id_list = [];\n this.b_input.create_suggest(\n response.data.contracts.map(item => {\n this.contracts_id_list.push(item['id']);\n return item['contragent_name'] + \" (\" + item['contract_num'] + \")\";\n }), 'add-report-suggest'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n this.dom.compare_button.addEventListener('click', () => {\n if (this.checked_items_count) {\n let confirm_text = `Вы действительно хотите перевести ${this.checked_items_count} ${plural_form(this.checked_items_count, ['документ', 'документа', 'документов'])} в состояние \"Сверено\"?`;\n this.confirm_modal.change_content(confirm_text);\n }\n });\n\n this.confirm_modal.attach('confirm', (event, widget) => {\n let data = {};\n let id = [];\n let check_items = document.querySelectorAll('.l-home__check-item');\n\n each(check_items, item => {\n if (item.checked) {\n id.push(item.value);\n }\n });\n\n data['status'] = this.get_param('status_list')[2].uid;\n data['id'] = id.join(',');\n widget.b_button_submit.block_button();\n post('/api/red/report/status', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n });\n\n this.dom.remove_button.addEventListener('click', () => {\n if (this.checked_items_count) {\n let confirm_text = `Вы действительно хотите удалить ${this.checked_items_count} ${plural_form(this.checked_items_count, ['отчет', 'отчета', 'отчетов'])}?`;\n this.confirm_delete_modal.change_content(confirm_text);\n }\n });\n\n this.confirm_delete_modal.attach('confirm', (event, widget) => {\n let data = {};\n let id = [];\n let check_items = document.querySelectorAll('.l-home__check-item');\n\n each(check_items, item => {\n if (item.checked) {\n id.push(item.value);\n }\n });\n\n data['id'] = id.join(',');\n widget.b_button_submit.block_button();\n post('/api/red/report/delete', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n });\n }\n\n _get_balance(index, event) {\n this.dom.input_contract_id.value = this.suggest_selected_id;\n\n if (this.suggest_selected_id && this.dom.input_contract_name.value) {\n this.dom.input_balance.removeAttribute('disabled');\n this.dom.get_balance_button.classList.remove('hidden');\n } else {\n this.dom.input_balance.setAttribute('disabled', 'disabled');\n this.dom.get_balance_button.classList.add('hidden');\n }\n\n let data = {\n month_begin: this.dom.input_month_begin.value,\n month_end: this.dom.input_month_end.value,\n contract_id: this.suggest_selected_id\n };\n\n post('/api/red/report/finhub/balance', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n if (response.data.balance) {\n this.balance = (response.data.balance.balance.balance + response.data.balance.commission.balance).toFixed(2);\n\n this.dom.input_balance.value = this.balance;\n }\n\n if (response.data.contract.categorygroup.commission) {\n this.commission = response.data.contract.categorygroup.commission;\n this.dom.commission_input.value = this.commission;\n }\n\n if (this.balance && this.commission) {\n this.dom.commission_sum_input.value = this._calc_commission_summ(this.balance, this.commission);\n }\n\n this.b_ajax_from.clear_error();\n\n } else {\n this.b_ajax_from.set_error(response.errmess);\n }\n });\n\n post('/api/red/report/list', {\n month: this.dom.input_month_hidden.value,\n contract_id: this.suggest_selected_id,\n }, response => {\n response = parse_json(response);\n\n if (response.success == 1 && response.data.report_list.length) {\n this.dom.existing_reports.classList.remove('hidden');\n this.dom.existing_reports_tbody.innerHTML = this.render(modal_list, {report_list: response.data.report_list});\n } else {\n this.dom.existing_reports.classList.add('hidden');\n }\n });\n }\n\n\n _calc_commission_summ(balance, commission) {\n return ((balance / 100) * commission).toFixed(2);\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/report/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(report_list, {reports: response.data}));\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else {\n this._get_default();\n }\n }\n\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _event_filter(widget) {\n if (widget.form.dict.status) {\n this.b_combo_filter.reset();\n }\n\n this.query_params = Object.assign(this.query_params, widget.form.dict, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _event_combo_filter(instance) {\n this.b_filter.reset_field('status');\n this.query_params['status'] = instance.active_input_value;\n\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n this._post_data(this.query_params);\n }\n\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n };\n\n\n _get_default() {\n this.query_params.page = this.DEFAULT_PAGE;\n\n this.dom.content.innerHTML = this.render(\n report_list, {\n reports: this.get_param('reports')\n }\n );\n }\n\n\n _post_data(data) {\n post('/api/red/report/list', data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n this.b_filter.set_result_count(response.data.report_list.length, 'отчетов');\n\n this.dom.content.innerHTML = this.render(\n report_list, {\n reports: response.data\n }\n );\n }\n\n\n _hide_elements() {\n this.dom.footer_panel.classList.add('hidden');\n this.dom.table.classList.remove('l-home__reports-table_pad');\n }\n\n\n _show_elements() {\n this.dom.footer_panel.classList.remove('hidden');\n this.dom.table.classList.add('l-home__reports-table_pad');\n }\n\n\n _is_float(value) {\n return Number(value) == value && value % 1 !== 0;\n }\n}\n\nRouter.add_page(Home);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/home.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-home/l-home__reports-filter.html\"] = require( \"../l-home/l-home__reports-filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-home/l-home__reports-list.html\"] = require( \"../l-home/l-home__reports-list.html\" );\ndependencies[\"../b-dropdown-calendar/b-dropdown-calendar.html\"] = require( \"../b-dropdown-calendar/b-dropdown-calendar.html\" );\ndependencies[\"../l-home/l-home__add-report-modal.html\"] = require( \"../l-home/l-home__add-report-modal.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-home/l-home.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Отчеты
\\n \\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-home/l-home.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bSearch\")) {\nvar t_8 = t_5.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-home/l-home.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_12 = t_9.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 15, colno = 24, runtime.callWrap(t_8, \"bSearch\", context, [{\"class\": \"l-home__search-reports\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по названию, номеру договора\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 23, colno = 37, runtime.callWrap(t_12, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-home/l-home__reports-filter.html\", false, \"../templates/l-home/l-home.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-home/l-home.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-home/l-home__reports-list.html\", false, \"../templates/l-home/l-home.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Категория\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Период\\n
\\n
\\n
\\n Сумма по отчету, руб.\\n
\\n
\\n
\\n Сумма к расп., руб.\\n
\\n
\\n
\\n Дата загрузки\\n
\\n
\\n
\\n Источник\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n\";\ncb(null, output);\n})})})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-search/b-search.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[], \n[\"attrs\", \"input_attrs\"], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"attrs\", kwargs.hasOwnProperty(\"attrs\") ? kwargs[\"attrs\"] : {});\nframe.set(\"input_attrs\", kwargs.hasOwnProperty(\"input_attrs\") ? kwargs[\"input_attrs\"] : {});\nvar t_2 = \"\";t_2 += \"\\n \";\nvar t_3;\nt_3 = (lineno = 1, colno = 23, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"attrs\")]));\nframe.set(\"attrs\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"attrs\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"attrs\", t_3);\n}\nt_2 += \"\\n\\n \";\nvar t_4;\nt_4 = (lineno = 5, colno = 29, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"type\": \"text\",\"name\": \"search\",\"value\": \"\",\"placeholder\": \"\",\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"input_attrs\")]));\nframe.set(\"input_attrs\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"input_attrs\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"input_attrs\", t_4);\n}\nt_2 += \"\\n\\n \\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bSearch\");\ncontext.setVariable(\"bSearch\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-search/b-search.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-search/b-search.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[\"name\", \"id\", \"content_modifier\"], \n[\"link_attrs\"], \nfunction (l_name, l_id, l_content_modifier, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"name\", l_name);\nframe.set(\"id\", l_id);\nframe.set(\"content_modifier\", l_content_modifier);\nframe.set(\"link_attrs\", kwargs.hasOwnProperty(\"link_attrs\") ? kwargs[\"link_attrs\"] : {});\nvar t_2 = \"\";t_2 += \"\\n \";\nvar t_3;\nt_3 = (lineno = 1, colno = 28, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"update\"), \"update\", context, [{\"class\": \"\"},runtime.contextOrFrameLookup(context, frame, \"link_attrs\")]));\nframe.set(\"link_attrs\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"link_attrs\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"link_attrs\", t_3);\n}\nt_2 += \"\\n\\n \\n \\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bDropdownFilter\");\ncontext.setVariable(\"bDropdownFilter\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__reports-filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Период
\\n \\n
\\n
\\n
Пользователь
\\n \\n
\\n
\\n
Договор
\\n \\n
\\n
\\n
Категория
\\n \\n
\\n
\\n
Заблокировано на ТОП
\\n \\n
\\n
\\n
Статус
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__reports-filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__reports-filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-filter-values/b-filter-values.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__reports-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_category_group_name\")?runtime.memberLookup((t_4),\"contract_category_group_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_num\")?runtime.memberLookup((t_4),\"contract_num\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"is_stat_blocked\")) {\noutput += \"\\n –\\n \";\n;\n}\nelse {\noutput += \"\\n  \\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__reports-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__reports-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-dropdown-calendar/b-dropdown-calendar.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = [runtime.contextOrFrameLookup(context, frame, \"current_year\") - 2,runtime.contextOrFrameLookup(context, frame, \"current_year\") - 1,runtime.contextOrFrameLookup(context, frame, \"current_year\")];\nframe.set(\"YEARS\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"YEARS\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"YEARS\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = [[\"янв\",\"январь\"],[\"фев\",\"февраль\"],[\"мар\",\"март\"],[\"апр\",\"аперль\"],[\"май\",\"май\"],[\"июн\",\"июнь\"],[\"июл\",\"июль\"],[\"авг\",\"август\"],[\"сен\",\"сентябрь\"],[\"окт\",\"октябрь\"],[\"ноя\",\"ноябрь\"],[\"дек\",\"декабрь\"]];\nframe.set(\"MONTH_NAMES\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"MONTH_NAMES\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"MONTH_NAMES\", t_2);\n}\noutput += \"\\n\\n
\\n
\\n \";\nframe = frame.push();\nvar t_5 = runtime.contextOrFrameLookup(context, frame, \"YEARS\");\nif(t_5) {var t_4 = t_5.length;\nfor(var t_3=0; t_3 < t_5.length; t_3++) {\nvar t_6 = t_5[t_3];\nframe.set(\"year\", t_6);\nframe.set(\"loop.index\", t_3 + 1);\nframe.set(\"loop.index0\", t_3);\nframe.set(\"loop.revindex\", t_4 - t_3);\nframe.set(\"loop.revindex0\", t_4 - t_3 - 1);\nframe.set(\"loop.first\", t_3 === 0);\nframe.set(\"loop.last\", t_3 === t_4 - 1);\nframe.set(\"loop.length\", t_4);\noutput += \"\\n
\\n \\n \\n \\n \\n \\n \";\nframe = frame.push();\nvar t_9 = (lineno = 25, colno = 43, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"range\"), \"range\", context, [0,12]));\nif(t_9) {var t_8 = t_9.length;\nfor(var t_7=0; t_7 < t_9.length; t_7++) {\nvar t_10 = t_9[t_7];\nframe.set(\"index\", t_10);\nframe.set(\"loop.index\", t_7 + 1);\nframe.set(\"loop.index0\", t_7);\nframe.set(\"loop.revindex\", t_8 - t_7);\nframe.set(\"loop.revindex0\", t_8 - t_7 - 1);\nframe.set(\"loop.first\", t_7 === 0);\nframe.set(\"loop.last\", t_7 === t_8 - 1);\nframe.set(\"loop.length\", t_8);\noutput += \"\\n \";\nvar t_11;\nt_11 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"MONTH_NAMES\")),t_10)),1) + \" \" + t_6;\nframe.set(\"full_name\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"full_name\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"full_name\", t_11);\n}\noutput += \"\\n \";\nif(t_10 % 3 == 0) {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n
\";\noutput += runtime.suppressValue(t_6, env.opts.autoescape);\noutput += \"
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"MONTH_NAMES\")),t_10)),0), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n
\\n \\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-dropdown-calendar/b-dropdown-calendar.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-dropdown-calendar/b-dropdown-calendar.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../l-home/l-home__add-report-modal-list.html\"] = require( \"../l-home/l-home__add-report-modal-list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__add-report-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n Добавить отчет\\n
\\n\\n
\\n
\\n
Период *
\\n \\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n * - поля обязательные к заполнению\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n
Существующие отчёты
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-home/l-home__add-report-modal-list.html\", false, \"../templates/l-home/l-home__add-report-modal.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
\\n Период\\n
\\n
\\n
\\n Сумма\\n
\\n
\\n
\\n Дата загрузки\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__add-report-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__add-report-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-home/l-home__add-report-modal-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-home/l-home__add-report-modal-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-home/l-home__add-report-modal-list.html","/**\n * Установка get параметра в url\n * @param param\n * @param value\n */\n\nconst queryStringToDict = require('./query-string-to-dict');\nconst dictToQueryString = require('./dict-to-query-string');\n\nexport function add_url_param(param, value) {\n let url = window.location.pathname;\n let data = {};\n let query;\n\n if (!value) {\n return;\n }\n\n data[param] = value;\n\n query = dictToQueryString(Object.assign(\n queryStringToDict(window.location.search),\n data\n ));\n\n if (query) {\n url += '?' + decodeURIComponent(query);\n }\n\n window.history.replaceState('', '', url + window.location.hash);\n}\n\n/**\n * Удаление get параметра в url\n * @param param\n */\n\nexport function remove_url_param(param) {\n let data = queryStringToDict(window.location.search);\n let url = window.location.pathname;\n let query;\n\n delete data[param];\n\n query = dictToQueryString(data);\n\n if (query) {\n url += '?' + decodeURIComponent(query);\n }\n\n window.history.replaceState('', '', url + window.location.hash);\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/url_params.js","module.exports = function (query_string) {\n if (typeof query_string != \"string\" || query_string.length == 0) {\n return {};\n }\n\n query_string = (query_string[0] === '?') ? query_string.substr(1) : query_string;\n query_string = query_string.replace(/\\+/g, ' ');\n query_string = query_string.split(\"&\");\n\n let s_length = query_string.length;\n let bit;\n let query = {};\n let first;\n let second;\n\n for(var i = 0; i < s_length; i++) {\n bit = query_string[i].split(\"=\");\n first = bit[0];\n\n if (first.length == 0) {\n continue;\n }\n\n second = bit[1];\n\n if (typeof query[first] == \"undefined\") {\n query[first] = second;\n } else if (query[first] instanceof Array) {\n query[first].push(second);\n } else {\n query[first] = [query[first], second];\n }\n }\n\n return query;\n};\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/query-string-to-dict.js","const each = require('../helpers').each;\n\n\nmodule.exports = function dict_to_query_string(dict, prefix) {\n let query = [];\n\n each(Object.keys(dict), item => {\n let prefix_key = isNaN(item) ? item : '';\n let key = prefix ? prefix + \"[\" + prefix_key + \"]\" : item;\n let value = dict[item];\n let chunk;\n\n if (value !== null && typeof value === \"object\") {\n chunk = dict_to_query_string(value, key);\n } else {\n chunk = encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n }\n\n query.push(chunk);\n });\n\n return query.join(\"&\");\n};\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/dict-to-query-string.js","import {each, create_widget, attach_event, remove_event} from '../../helpers'\nimport Events from '../../events'\n\n\n/**\n * EVENTS: { CHANGE }\n */\nexport default class iTab extends Events{\n\n constructor(params={}) {\n super();\n\n this.params = {\n buttons: false,\n boxes: false,\n button_active_class: false,\n box_hidden_class: 'hidden',\n active: 0,\n is_toggle: false,\n is_multiple: false\n };\n\n this.reset(params);\n this.active_change(this.params.active);\n }\n\n\n _bind() {\n attach_event(this.params.buttons, 'click', this._event_click.bind(this));\n }\n\n\n _event_click(event) {\n this.active_change(this._index(event.currentTarget));\n this.dispatch('CHANGE', [this]);\n }\n\n\n _index(element) {\n let index = 0;\n each(this.params.buttons, (item, i) => {\n if (item == element) {\n index = i;\n }\n });\n return index;\n }\n\n\n _change_active_element(list, class_name, index, invert=false, multiple=false) {\n\n if (list[index] && multiple) {\n if (list[index]) {\n list[index].classList.toggle(class_name);\n }\n } else {\n each(list, function (element, position) {\n if (position !== index) {\n if (invert) {\n element.classList.add(class_name);\n } else {\n element.classList.remove(class_name);\n }\n\n } else {\n if (invert) {\n element.classList.remove(class_name);\n } else {\n element.classList.add(class_name);\n }\n }\n });\n }\n }\n\n\n /**\n * Активный таб\n * @returns {number|*}\n */\n get active() {\n return this.params.active;\n }\n\n\n /**\n * Открыть таб по индексу\n * @param index\n */\n active_change(index) {\n if (this.params.is_toggle && !this.params.is_multiple) {\n index = this.params.active = index === this.active ? -1 : index;\n } else {\n this.params.active = index;\n }\n\n this._change_active_element(\n this.params.buttons, this.params.button_active_class, index, false, this.params.is_multiple\n );\n if (this.params.boxes) {\n this._change_active_element(\n this.params.boxes, this.params.box_hidden_class, index, true, this.params.is_multiple\n );\n }\n }\n\n\n /**\n * Сбросить настройки виджета и заново установить события\n * @param params\n */\n reset(params={}) {\n this.params = Object.assign(this.params, params);\n remove_event(this.params.buttons, 'click', this._event_click.bind(this));\n this._bind();\n }\n\n show_all() {\n each(this.params.buttons, (item, index) => {\n if(this.params.button_active_class) {\n item.classList.add(this.params.button_active_class);\n }\n this.params.boxes[index].classList.add(this.params.box_hidden_class);\n });\n }\n\n hide_all() {\n each(this.params.buttons, (item, index) => {\n if(this.params.button_active_class) {\n item.classList.remove(this.params.button_active_class);\n }\n this.params.boxes[index].classList.remove(this.params.box_hidden_class);\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-tab/i-tab.js","import template from '../templates/l-control/l-control.html'\nimport user_list from '../templates/l-control/l-control__user-list.html'\nimport {get_widget, post, parse_json, unique} from 'blocko/helpers'\nimport Controller from './main'\nimport Router from 'blocko/router'\n\n\nclass Control extends Controller {\n\n static get route() {\n return '/control/';\n }\n\n\n constructor() {\n super();\n super.prepare_context({\n users: '/api/red/user/list',\n });\n super.render_page(template);\n }\n\n\n init() {\n\n this.dom = {\n content: document.querySelector('.l-control__users-list'),\n modal_form: document.querySelector('.l-control__add-user-form'),\n email_input: document.querySelector('.l-control__add-user-email'),\n name_input: document.querySelector('.l-control__add-user-name'),\n password_input: document.querySelector('.l-control__add-user-password'),\n error_wrap: document.querySelector('.l-control__add-user-error'),\n table: document.querySelector('.l-control__table'),\n table_wrap: document.querySelector('.l-control__table-wrap'),\n add_button: document.querySelector('.l-contorl__add-user')\n };\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n };\n this.is_rendered = false;\n\n this.b_search = get_widget(document.querySelector('.l-control__search-users'), 'bSearch');\n this.i_form = get_widget(this.dom.modal_form, 'iForm');\n this.b_ajax_form = get_widget(this.dom.modal_form, 'bAjaxForm');\n this.email_form_field = get_widget(this.dom.email_input, 'iFormField');\n this.add_user_widget = get_widget(this.dom.add_button, 'bModal');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.email_input.addEventListener('input', event => {\n this.dom.email_input.setAttribute('validate', 'empty, email');\n if (this.email_form_field.validate()) {\n this.b_ajax_form.dom.widget.action = '/api/red/user/add';\n this.dom.name_input.value = '';\n this._enable_password_field();\n this._check_email();\n }\n });\n\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._event_search(widget);\n });\n\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n this.add_user_widget.modal.attach('hide', () => {\n this._enable_password_field();\n this.i_form.reset();\n this.i_form.clear_error_message();\n this.b_ajax_form.clear_error();\n })\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/user/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(user_list, {users: response.data}));\n\n if (response.data.user_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else if (value.length == 0) {\n this._post_data(this.query_params);\n }\n }\n\n\n _post_data(data) {\n post('/api/red/user/list', data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.content.innerHTML = this.render(\n user_list, {users: response.data}\n );\n }\n\n\n _check_email() {\n post('/api/red/user/exists', {email: this.dom.email_input.value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (response.data.is_user) {\n this.b_ajax_form.stop_submit();\n this.dom.email_input.setAttribute('validate', 'empty, email, email_exist');\n\n } else if (response.data.is_id_user) {\n this.dom.name_input.value = response.data.id_user.last_name + ' ' + response.data.id_user.first_name;\n this.b_ajax_form.dom.widget.action = '/api/red/user/connect';\n this._disable_password_field();\n this.b_ajax_form.start_submit();\n\n } else {\n this.dom.password_input.value = unique();\n this.b_ajax_form.start_submit();\n }\n }\n });\n }\n\n\n _disable_password_field() {\n if (this.dom.password_input.getAttribute('validate')) {\n this.dom.password_input.value = '';\n this.dom.password_input.removeAttribute('validate');\n this.dom.password_input.setAttribute('disabled', 'true');\n }\n }\n\n\n _enable_password_field() {\n if (!this.dom.password_input.getAttribute('validate')) {\n this.dom.password_input.setAttribute('validate', 'empty');\n this.dom.password_input.removeAttribute('disabled');\n }\n }\n}\n\nRouter.add_page(Control);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/control.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-control/l-control__user-list.html\"] = require( \"../l-control/l-control__user-list.html\" );\ndependencies[\"../l-control/l-control__add-user-modal.html\"] = require( \"../l-control/l-control__add-user-modal.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-control/l-control.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-control/l-control.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Управление пользователями
\\n \\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-control/l-control.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bSearch\")) {\nvar t_8 = t_5.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_8);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 11, colno = 24, runtime.callWrap(t_8, \"bSearch\", context, [{\"class\": \"l-control__search-users\"},{\"placeholder\": \"Поиск по ФИО и электронной почте\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-control/l-control__user-list.html\", false, \"../templates/l-control/l-control.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n \\n
\\n
\\n Дата создания\\n
\\n
\\n
\\n ФИО\\n
\\n
\\n
\\n Должность\\n
\\n
\\n
\\n Электронная почта\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Роль доступа\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-control/l-control.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-control/l-control.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-control/l-control__user-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"users\")),\"user_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"post\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"email\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"is_blocked\") == 0?\"Работает\":\"Заблокирован\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user_type\")),runtime.memberLookup((t_4),\"type\") - 1)),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-control/l-control__user-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-control/l-control__user-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-control/l-control__add-user-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создать пользователя\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-control/l-control__add-user-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-control/l-control__add-user-modal.html","import template from '../templates/l-user/l-user.html'\n\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\nimport {append_alert, push_alert} from 'blocko/functions/alert'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\nclass User extends Controller {\n\n static get route() {\n return '/control//';\n }\n\n constructor(params) {\n super();\n super.prepare_context({\n user: {\n path: '/api/red/user/get',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n });\n\n this.params = params;\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n form: document.querySelector('form'),\n combo_item: document.querySelectorAll('.b-combo__item'),\n password_field: document.querySelector('.l-user__form-password'),\n error_wrap: document.querySelector('.l-user__form-errors'),\n button_submit: document.querySelector('.b-button-submit')\n };\n\n this.combo_tab = new iTab({\n buttons: this.dom.combo_item,\n boxes: false,\n button_active_class: 'b-combo__item_active',\n box_hidden_class: 'hidden',\n active: this.get_param('user').user.is_blocked\n });\n\n this.combo_tab_status = this.combo_tab.active;\n this.i_form = get_widget(this.dom.form, 'iForm');\n this.b_submit_button = get_widget(this.dom.button_submit, 'bButtonSubmit');\n\n push_alert('user');\n\n this._bind();\n }\n\n\n _bind() {\n\n /**\n * Если есть пароль сначала меням пароль пользоватлею\n */\n this.dom.form.addEventListener('submit', event => {\n event.preventDefault();\n\n let data = new FormData(this.dom.form);\n\n if (this.dom.password_field.value) {\n this._change_password(data);\n } else {\n this._edit_user(data);\n }\n });\n\n this.combo_tab.attach('CHANGE', () => {\n if (this.combo_tab_status != this.combo_tab.active) {\n post('/api/red/user/blocked', {id: this.params.id}, response => {\n response = parse_json(response);\n if (response.success) {\n append_alert('user', 'Изменения сохранены');\n this.url_for('User', {\n id: response.data.user.id\n });\n } else {\n this.dom.error_wrap.text = response.errmess;\n }\n });\n }\n });\n }\n\n\n _edit_user(data) {\n if (this.i_form.validate()) {\n this.b_submit_button.block_button();\n post('/api/red/user/edit', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n append_alert('user', 'Изменения сохранены');\n this.url_for('User', {\n id: response.data.user.id\n });\n } else {\n this.dom.error_wrap.text = response.errmess;\n }\n this.b_submit_button.unblock_button();\n });\n }\n }\n\n\n _change_password(data) {\n post('/api/red/user/chpassword', data, response => {\n response = parse_json(response);\n\n if (response.success != 1) {\n this.dom.error_wrap.text = response.errmess;\n return;\n }\n\n this._edit_user(data);\n });\n }\n}\n\nRouter.add_page(User);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/user.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-user/l-user.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-user/l-user.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n Управление\\n /\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"user\")),\"user\")),\"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \\n
Учетная запись
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
Данные пользователя
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n   \\n Отмена\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-user/l-user.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-user/l-user.html","import {each} from '../helpers'\nlet _scope = {};\n\n\nexport function append_alert(alert_name, message, type='default') {\n if (!alert_name) {\n throw 'Error: alert_name is empty';\n }\n\n if (!_scope[alert_name]) {\n _scope[alert_name] = [];\n }\n\n _scope[alert_name].push({\n message: message,\n type: type\n });\n\n return alert_name;\n}\n\n\nexport function push_alert(alert_name=false) {\n if (alert_name === false) {\n each(Object.keys(_scope), alert_name => {\n push_alert(alert_name);\n });\n return;\n }\n\n if (!_scope[alert_name]) {\n return;\n }\n\n let box = document.querySelector('.alert');\n\n if (!box) {\n box = document.createElement('DIV');\n box.className = 'alert';\n document.body.appendChild(box);\n }\n\n each(_scope[alert_name], item => {\n let div = document.createElement('DIV');\n div.className = 'alert__item alert__item_' + item.type;\n div.innerHTML = item.message;\n\n box.appendChild(div);\n\n if (['warning', 'error'].indexOf(item.type) > -1) {\n let i = document.createElement('I');\n i.classList.add('alert__item-close');\n div.appendChild(i);\n i.addEventListener('click', event => {\n div.classList.add('alert__item_end');\n\n div.addEventListener('animationend', event => {\n div.parentNode.removeChild(div);\n });\n });\n } else {\n setTimeout(function () {\n div.classList.add('alert__item_end');\n\n div.addEventListener('animationend', event => {\n div.parentNode.removeChild(div);\n });\n }, 3 * 1000);\n }\n });\n\n _scope[alert_name] = [];\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/alert.js","import template from '../templates/l-report/l-report.html'\nimport phonogram_list from '../templates/l-report/l-report__phonogram-table-item.html'\nimport add_phonogram_template from '../templates/b-phonogram-add/b-phonogram-add.html'\nimport modal_reports_list from '../templates/b-music-libery-reports-list/b-music-libery-reports-list.html'\nimport relay_modal_template from '../templates/b-phonogram-relay/b-phonogram-relay.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, each, closest} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport comparison_status_modal from '../templates/l-comparison/l-comparison__status-modal.html'\nimport {get_context} from \"blocko/functions/context\";\n\nconst DEFAULT_PROGRESS = {\n status: 'Загрузка файла',\n percent: 10\n};\n\nclass Report extends Controller {\n\n static get route() {\n return '/reports//';\n }\n\n\n constructor(params, query) {\n super();\n super.add('query', query);\n super.add('active_menu', '/');\n super.prepare_context({\n report: {\n path: '/api/red/report/get?with=file',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n tracks: {\n path: '/api/red/report/track/list',\n data: Object.assign({report_id: params.id}, query)\n },\n group_trk: '/api/red/thesaurus/constant/get?key=CATEGORY_GROUP_TRK',\n });\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n progress: {\n body: document.querySelector('.l-report__progress'),\n seeker: document.querySelector('.l-report__progress-seeker'),\n status: document.querySelector('.l-report__progress-status'),\n },\n add_from_file: document.querySelector('.l-report__add-file-input'),\n combo_item: document.querySelectorAll('.b-combo__item'),\n radio_buttons: document.querySelectorAll('.b-combo input'),\n add_phonogram_modal: document.querySelector('.l-report__add-phonogram-modal'),\n relay_phonogram_modal: document.querySelector('.l-report__relay-phonogram-modal'),\n phonogram_table: document.querySelector('.l-report__phonogram-table'),\n phonogram_tbody: document.querySelector('.l-report__phonogram-table-body'),\n check_all: document.querySelector('.l-report__phonogram-check-all'),\n check_item: document.querySelectorAll('.l-report__phonogram-check-item'),\n footer_panel: document.querySelector('.l-report__footer-panel'),\n remove_track_button: document.querySelector('.l-report__remove-track-button'),\n search_phonogram: document.querySelector('.l-report__search-phonogram'),\n filter_phonogram: document.querySelector('.l-report__filter-phonogram'),\n table_wrap: document.querySelector('.l-report__table-wrap'),\n button_music_library: document.querySelector('.l-report__music-library'),\n remove_button: document.querySelector('.l-report__remove-button')\n };\n\n this.report_id = this.get_param('report').params.id;\n this.report_status = this.get_param('report').report.status;\n this.report_type = this.get_param('report').report.type;\n this.report_file_id = this.get_param('report').report.file_id;\n\n if (this.report_file_id) {\n this.report_file_progress = this.get_param('report').report.file.progress;\n }\n\n this.contrack_group_id = this.get_param('group_trk').constant.value;\n this.month = this.get_param('report').report.month_unixtime;\n this.checked_items = null;\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.is_rendered = false;\n\n if (this.dom.search_phonogram) {\n this.search_widget = get_widget(document.querySelector('.l-report__search-phonogram'), 'bSearch');\n }\n\n if (this.dom.filter_phonogram) {\n this.filter_widget = get_widget(document.querySelector('.l-report__filter-phonogram'), 'bDropdownFilter');\n this.filter_widget.form_submit(null, false);\n }\n\n this.sort_widget = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n\n if (this.dom.remove_track_button) {\n this.confirm_modal = get_widget(this.dom.remove_track_button, 'bConfirmModal');\n }\n\n if (\n this.report_file_id &&\n this.report_file_progress &&\n this.report_file_progress != 100\n ) {\n this._show_progress();\n }\n\n if (this.dom.remove_button) {\n this.confirm_delete_modal = get_widget(this.dom.remove_button, 'bConfirmModal');\n }\n\n this._bind();\n\n let { status } = this.get_param('report').report;\n\n if (status == 13 || status == 14) {\n this.show_comparison_inProgress_modal();\n }\n }\n\n\n _bind() {\n\n if (this.search_widget) {\n this.search_widget.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.search_widget.attach('click', widget => {\n this._reset_search(widget);\n });\n }\n\n if (this.filter_widget) {\n this.filter_widget.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.filter_widget.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.filter_widget.attach('click', widget => {\n this._event_filter(widget);\n });\n }\n\n if (this.sort_widget) {\n this.sort_widget.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n }\n\n if (this.dom.add_from_file) {\n this.dom.add_from_file.addEventListener('change', this._add_from_file.bind(this));\n }\n\n if (this.dom.relay_phonogram_modal) {\n this.dom.relay_phonogram_modal.addEventListener('click', event => {\n\n let modal = get_widget(event.target, 'iModal');\n\n post('/api/red/report/list',\n {contract_category_group_id: this.contrack_group_id, month: this.month, status: \"6,7,8\"},\n response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n\n if (!modal) {\n modal = new iModal(this.render(relay_modal_template, Object.assign(response.data, {month: this.month})), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n }\n });\n });\n }\n\n if (this.dom.add_phonogram_modal) {\n this.dom.add_phonogram_modal.addEventListener('click', event => {\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(this.render(add_phonogram_template), {\n node_link: event.target,\n strict_hide: true\n });\n\n this.b_phonogram_add = get_widget(modal.dom.box.querySelector('.b-phonogram-add'), 'bPhonogramAdd');\n this.b_phonogram_add.attach('add_track', this._add_phonogramm.bind(this));\n }\n\n modal.show();\n });\n }\n\n this.dom.phonogram_table.addEventListener('click', event => {\n if (event.target.classList.contains('l-report__phonogram-check-all')) {\n this._check_all(event);\n } else if (event.target.classList.contains('l-report__phonogram-check-item')) {\n this._check_item(event);\n }\n });\n\n this.dom.phonogram_table.addEventListener('submit', event => {\n if (event.target.classList.contains('b-inline-edit')) {\n this._edit_count(event);\n }\n });\n\n this.dom.phonogram_table.addEventListener('keydown', event => {\n if (event.target.classList.contains('b-inline-edit__controls-input')) {\n this._count_keyup(event);\n }\n });\n\n this.dom.remove_track_button.addEventListener('click', () => {\n if (this.checked_items.length) {\n this.confirm_modal.change_content(`Вы действительно хотите удалить строки?`);\n }\n });\n\n this.confirm_modal.attach('confirm', (event, widget) => {\n this._remove_tracks(event, widget);\n });\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n if (this.dom.button_music_library) {\n this.dom.button_music_library.addEventListener('click', this._create_modal_reports_list.bind(this));\n }\n\n if (this.dom.remove_button) {\n this.dom.remove_button.addEventListener('click', () => {\n this.confirm_delete_modal.change_content(`Вы действительно хотите удалить этот отчет?`);\n });\n\n this.confirm_delete_modal.attach('confirm', (event, widget) => {\n\n widget.b_button_submit.block_button();\n\n post('/api/red/report/delete', {id: this.report_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.url_for('Home');\n }\n widget.b_button_submit.unblock_button();\n });\n });\n }\n }\n\n _create_modal_reports_list(event) {\n let modal = get_widget(event.target, 'iModal');\n\n post('/api/red/report/list',\n {status: \"6,7,8\"},\n response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n\n if (!modal) {\n modal = new iModal(this.render(modal_reports_list), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n let eventContain = modal.dom.widget.querySelector('.b-reward-reports-add__table-tbody');\n let thisReportId = this.report_id;\n\n eventContain.addEventListener('click', event => {\n\n let report_id = event.target.getAttribute('data-id');\n\n if (report_id !== null){\n this._copy_report(event, report_id, thisReportId);\n }\n });\n\n\n modal.show();\n }\n });\n }\n\n _copy_report(event, id_from, id) {\n\n post('/api/red/report/copy', {id: id, id_from: id_from}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n } else {\n this._error_modal(event, response.errmess)\n }\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.phonogram_table.scrollHeight,\n this.dom.phonogram_table.offsetHeight,\n this.dom.phonogram_table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n this.query_params = Object.assign(this.query_params, {report_id: this.report_id});\n\n post('/api/red/report/track/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.phonogram_tbody.insertAdjacentHTML('beforeEnd', this.render(phonogram_list, {tracks: response.data}));\n\n if (response.data.track_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _add_phonogramm(widget) {\n let data = {};\n data.report_id = this.report_id;\n data.track_id = widget.track_id;\n\n widget.b_button_submit.block_button();\n\n post('/api/red/report/track/add', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n } else {\n this._error_modal(widget, response.errmess)\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n _edit_count(event) {\n event.preventDefault();\n\n let edit_input = event.target.querySelector('.b-inline-edit__controls-input');\n let edit_preview = event.target.querySelector('.b-inline-edit__preview');\n let data = new FormData(event.target);\n\n post('/api/red/report/track/edit', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n edit_input.value = response.data.track.count_play;\n edit_preview.innerHTML = response.data.track.count_play;\n } else {\n this._error_modal(event, '\"Количество сообщений в эфире\" - должно быть целым не отрицательным числом');\n }\n });\n }\n\n\n _count_keyup(event) {\n if (event.keyCode == 13) {\n let parent_tr = closest(event.target, '.l-report__phonogram-table-body-tr');\n let next_element = parent_tr.nextElementSibling;\n\n event.target.parentNode.style.display = '';\n event.target.parentNode.previousElementSibling.style.display = '';\n\n if (next_element) {\n\n let next_input = next_element.querySelector('.b-inline-edit__controls-input');\n next_input.parentNode.style.display = 'inline-block';\n next_input.parentNode.previousElementSibling.style.display = 'none';\n\n setTimeout(function () {\n next_input.focus();\n }, 10);\n }\n }\n }\n\n\n _error_modal(event, message) {\n\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(this.render(errormodal_template, {message: message}));\n modal.show();\n }\n\n\n _check_all(event) {\n event.stopPropagation();\n\n if (event.target.checked) {\n\n this.dom.check_item = document.querySelectorAll('.l-report__phonogram-check-item');\n\n each(this.dom.check_item, item => {\n item.checked = true;\n });\n\n this._toggle_elements('show');\n } else {\n each(this.dom.check_item, item => {\n item.checked = false;\n });\n this._toggle_elements('hide');\n }\n\n this.checked_items = document.querySelectorAll('.l-report__phonogram-check-item:checked');\n }\n\n\n _check_item(event) {\n event.stopPropagation();\n\n this.checked_items = document.querySelectorAll('.l-report__phonogram-check-item:checked');\n\n let items_count = document.querySelectorAll('.l-report__phonogram-check-item').length;\n let checked_items_count = this.checked_items.length;\n\n if (checked_items_count == 0) {\n this._toggle_elements('hide');\n this.dom.check_all.checked = false;\n } else if (checked_items_count == items_count) {\n this.dom.check_all.checked = true;\n this._toggle_elements('show');\n } else {\n this._toggle_elements('show');\n }\n }\n\n\n _toggle_elements(action) {\n if (action == 'show') {\n this.dom.footer_panel.classList.remove('hidden');\n this.dom.phonogram_table.classList.add('l-report__phonogram-table_pad');\n } else {\n this.dom.footer_panel.classList.add('hidden');\n this.dom.phonogram_table.classList.remove('l-report__phonogram-table_pad');\n }\n }\n\n\n _add_from_file(event) {\n if (this.dom.add_from_file.files.length) {\n\n let ext = /[^.]+$/.exec(this.dom.add_from_file.files[0].name);\n let allowed_ext = ['csv', 'dbf', 'xlsx'];\n\n if (this.dom.add_from_file.files[0].size > 100000000) {\n this._error_modal(event, 'Размер файла больше допустимого. Допустимый размер 100мб');\n this.dom.add_from_file.value = \"\";\n } else if (!allowed_ext.includes(ext[0])) {\n this._error_modal(event, 'Неверный формат файла. Допустимы файлы с расширением csv, dbf, xlsx');\n this.dom.add_from_file.value = \"\";\n } else {\n\n this._show_progress(this.report_file_id);\n\n post('/api/red/report/file/add',\n {\n file: this.dom.add_from_file.files[0],\n report_id: this.report_id\n },\n response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this._show_progress(response.data.file.id);\n } else {\n this._error_modal(event, response.errmess);\n }\n }\n );\n }\n }\n }\n\n\n _show_progress(file_id = this.report_file_id) {\n this.report_file_id = file_id;\n\n if (!file_id) {\n this.dom.progress.body.classList.remove('hidden');\n this.dom.progress.seeker.style.width = DEFAULT_PROGRESS.percent + '%';\n this.dom.progress.status.innerText = DEFAULT_PROGRESS.status;\n } else if (file_id) {\n post('/api/red/report/file/get', {id: file_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1 && response.data.file.progress != 100) {\n this.dom.progress.body.classList.remove('hidden');\n this.dom.progress.seeker.style.width = response.data.file.progress + '%';\n this.dom.progress.status.innerText = this._prepare_progress_message_string(response.data);\n\n clearTimeout(this.timer);\n this.timer = setTimeout(this._show_progress.bind(this), 4000);\n\n } else if (response.data.file.progress == 100) {\n location.reload();\n }\n }\n );\n }\n }\n\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else {\n this._get_default();\n }\n }\n\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n };\n\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _event_filter(widget) {\n this.query_params = Object.assign(this.query_params, widget.form.dict, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _get_default() {\n this.dom.phonogram_tbody.innerHTML = this.render(\n phonogram_list, {\n tracks: this.get_param('tracks')\n }\n );\n }\n\n\n _post_data(data) {\n data = Object.assign(data, {report_id: this.report_id});\n\n post('/api/red/report/track/list', data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n if (this.filter_widget) {\n this.filter_widget.set_result_count(response.data.track_list.length, 'фонограмм');\n }\n\n this.dom.phonogram_tbody.innerHTML = this.render(\n phonogram_list, {\n tracks: response.data,\n report_status: this.report_status,\n report_type: this.report_type,\n }\n );\n }\n\n\n _remove_tracks(event, widget) {\n let data = {};\n let track_id = '';\n\n data['report_id'] = this.report_id;\n\n each(this.checked_items, item => {\n track_id += item.value + ',';\n });\n\n data['id'] = track_id;\n\n widget.b_button_submit.block_button();\n post('/api/red/report/track/del', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n _prepare_progress_message_string(data) {\n if (data.file.status === 2) {\n return `${data.file.status_name} (${data.file.count_tracks_processed} из ${data.file.count_tracks})`;\n }\n return data.file.status_name;\n }\n\n show_comparison_inProgress_modal() {\n let template = this.render(comparison_status_modal, {});\n let modal = new iModal(template, { strict_hide: true });\n\n window.addEventListener('keyup', event => event.stopPropagation(), true);\n\n modal.dom.close_button.style.display = 'none';\n modal.show();\n\n setInterval(() => {\n post('/api/red/report/get', { id: this.report_id }, response => {\n response = JSON.parse(response);\n\n let { status } = response.data.report;\n\n if (!(status == 13 || status == 14)) {\n location.reload();\n }\n });\n }, 5000);\n }\n\n}\n\nRouter.add_page(Report);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/report.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../b-report-data/b-report-data.html\"] = require( \"../b-report-data/b-report-data.html\" );\ndependencies[\"../l-report/l-report__phonogram-filter.html\"] = require( \"../l-report/l-report__phonogram-filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-report/l-report__phonogram-table-item.html\"] = require( \"../l-report/l-report__phonogram-table-item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-report/l-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-report/l-report.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nvar t_3;\nt_3 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"type\");\nframe.set(\"report_type\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_type\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_type\", t_3);\n}\noutput += \"\\n\";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status\");\nframe.set(\"report_status\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_status\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_status\", t_4);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-report/l-report.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bSearch\")) {\nvar t_8 = t_5.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_8);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-report/l-report.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_12 = t_9.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_12);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_14,t_13) {\nif(t_14) { cb(t_14); return; }\noutput += t_13;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n
Идет обработка файла
\\n
\\n
\\n
\\n
\\n
\\n Отчеты\\n /\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contragent_name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contragent_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n от \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"month_unixtime\"),\"numbers\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../b-report-data/b-report-data.html\", false, \"../templates/l-report/l-report.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n\\n
\\n \";\noutput += runtime.suppressValue((lineno = 36, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-report__search-phonogram\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по названию, исполнителю, изготовителю\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 44, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_19 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_20 = \"\";env.getTemplate(\"../l-report/l-report__phonogram-filter.html\", false, \"../templates/l-report/l-report.html\", null, function(t_23,t_21) {\nif(t_23) { cb(t_23); return; }\nt_21.render(context.getVariables(), frame, function(t_24,t_22) {\nif(t_24) { cb(t_24); return; }\nt_20 += t_22\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_20);\n});\nreturn macro_t_19;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\nif((runtime.contextOrFrameLookup(context, frame, \"report_type\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_type\") == 4) && runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif((runtime.contextOrFrameLookup(context, frame, \"report_type\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_type\") == 2 || runtime.contextOrFrameLookup(context, frame, \"report_type\") == 3) && (runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2)) {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_type\") == 1 && runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1) {\noutput += \"\\n \\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"report_type\") == 4 && runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) {\noutput += \"\\n Сопоставление\\n фонограмм\\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-report/l-report.html\", null, function(t_27,t_25) {\nif(t_27) { cb(t_27); return; }\nt_25.render(context.getVariables(), frame, function(t_28,t_26) {\nif(t_28) { cb(t_28); return; }\noutput += t_26\noutput += \"\\n
\\n
\\n \\n \\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2 && runtime.contextOrFrameLookup(context, frame, \"report_type\") != 5) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-report/l-report__phonogram-table-item.html\", false, \"../templates/l-report/l-report.html\", null, function(t_31,t_29) {\nif(t_31) { cb(t_31); return; }\nt_29.render(context.getVariables(), frame, function(t_32,t_30) {\nif(t_32) { cb(t_32); return; }\noutput += t_30\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Название фонограммы\\n
\\n
\\n
\\n
\\n
\\n Автор музыки\\n
\\n
\\n
\\n Автор текста\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Кол-во сообщ. в эфир\\n
\\n
\\n
\\n Хронометраж\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-report/l-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-report/l-report.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-report-data/b-report-data.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = [runtime.contextOrFrameLookup(context, frame, \"current_user\")];\nframe.set(\"user\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"user\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"user\", t_1);\n}\noutput += \"\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(((runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) && (runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"current_user\")),\"user\")),\"type\") == 1))) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 1 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) {\noutput += \"\\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n
Статус:\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 5 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 6) {\noutput += \"\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 5) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 6) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 11) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n
Комиссия ВОИС:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"commission\"), env.opts.autoescape);\noutput += \" %Загружено строк:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"count_tracks\"), env.opts.autoescape);\noutput += \"Категория:\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_category_group_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_category_group_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
Период:\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"month_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n Сумма по отчету:\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"balance\")):\"0\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n Сумма по отчету:\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"balance\")):\"0\"), env.opts.autoescape);\noutput += \"\\n Сопоставлено строк:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"count_tracks_has_track_id\"), env.opts.autoescape);\noutput += \"Подкатегория:\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_category_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_category_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
Дата загрузки:\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"ctime_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n Сумма к распределению:\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"summ\")):\"0\"), env.opts.autoescape);\noutput += \"Кол-во воспроизведений:\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"count_tracks_play\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 3) {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"is_stat_blocked\") == 1?\"Заблокирован для статистики\":\"Не заблокирован для статистики\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"reconciliation_error\") && runtime.contextOrFrameLookup(context, frame, \"report_status\") != 6) {\noutput += \"\\n Ошибка:\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"reconciliation_error\") && runtime.contextOrFrameLookup(context, frame, \"report_status\") == 5 || runtime.contextOrFrameLookup(context, frame, \"report_status\") == 11?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"reconciliation_error\"):\"\"), env.opts.autoescape);\noutput += \"\\n \\n
Период оплаты:\\n \";\nvar t_2;\nt_2 = [env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"payment_month_unixtime\"),\"year\")];\nframe.set(\"year\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"year\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"year\", t_2);\n}\noutput += \"\\n \";\nvar t_3;\nt_3 = env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"payment_month_unixtime\"),\"month\");\nframe.set(\"current_month\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"current_month\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"current_month\", t_3);\n}\noutput += \"\\n \";\nvar t_4;\nt_4 = [[\"январь\",\"01\"],[\"февраль\",\"02\"],[\"март\",\"03\"],[\"апрель\",\"04\"],[\"май\",\"05\"],[\"июнь\",\"06\"],[\"июль\",\"07\"],[\"август\",\"08\"],[\"сентябрь\",\"09\"],[\"октябрь\",\"10\"],[\"ноябрь\",\"11\"],[\"декабрь\",\"12\"]];\nframe.set(\"MONTH_NAMES\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"MONTH_NAMES\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"MONTH_NAMES\", t_4);\n}\noutput += \"\\n \\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-report-data/b-report-data.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-report-data/b-report-data.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-report/l-report__phonogram-filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Название фонограммы
\\n \\n
\\n
\\n
Автор музыки
\\n \\n
\\n
\\n
Автор текста
\\n \\n
\\n
\\n
Исполнитель
\\n \\n
\\n
\\n
Изготовитель
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-report/l-report__phonogram-filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-report/l-report__phonogram-filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../templates/b-inline-edit/b-inline-edit.html\"] = require( \"../../templates/b-inline-edit/b-inline-edit.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-report/l-report__phonogram-table-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../templates/b-inline-edit/b-inline-edit.html\", false, \"../templates/l-report/l-report__phonogram-table-item.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bInlineEdit\")) {\nvar t_4 = t_1.bInlineEdit;\n} else {\ncb(new Error(\"cannot import 'bInlineEdit'\")); return;\n}\ncontext.setVariable(\"bInlineEdit\", t_4);\noutput += \"\\n\\n\";\nvar t_5;\nt_5 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"type\");\nframe.set(\"report_type\", t_5, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_type\", t_5);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_type\", t_5);\n}\noutput += \"\\n\";\nvar t_6;\nt_6 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status\");\nframe.set(\"report_status\", t_6, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_status\", t_6);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_status\", t_6);\n}\noutput += \"\\n\";\nframe = frame.push();\nvar t_9 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"track_list\");\nif(t_9) {var t_8 = t_9.length;\nfor(var t_7=0; t_7 < t_9.length; t_7++) {\nvar t_10 = t_9[t_7];\nframe.set(\"item\", t_10);\nframe.set(\"loop.index\", t_7 + 1);\nframe.set(\"loop.index0\", t_7);\nframe.set(\"loop.revindex\", t_8 - t_7);\nframe.set(\"loop.revindex0\", t_8 - t_7 - 1);\nframe.set(\"loop.first\", t_7 === 0);\nframe.set(\"loop.last\", t_7 === t_8 - 1);\nframe.set(\"loop.length\", t_8);\noutput += \"\\n \";\nvar t_11;\nt_11 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_name\"):runtime.memberLookup((t_10),\"name\"));\nframe.set(\"name\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"name\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"name\", t_11);\n}\noutput += \"\\n \";\nvar t_12;\nt_12 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_author_music\"):runtime.memberLookup((t_10),\"author_music\"));\nframe.set(\"author_music\", t_12, true);\nif(frame.topLevel) {\ncontext.setVariable(\"author_music\", t_12);\n}\nif(frame.topLevel) {\ncontext.addExport(\"author_music\", t_12);\n}\noutput += \"\\n \";\nvar t_13;\nt_13 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_author_text\"):runtime.memberLookup((t_10),\"author_text\"));\nframe.set(\"author_text\", t_13, true);\nif(frame.topLevel) {\ncontext.setVariable(\"author_text\", t_13);\n}\nif(frame.topLevel) {\ncontext.addExport(\"author_text\", t_13);\n}\noutput += \"\\n \";\nvar t_14;\nt_14 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_performers\"):runtime.memberLookup((t_10),\"performer\"));\nframe.set(\"performers\", t_14, true);\nif(frame.topLevel) {\ncontext.setVariable(\"performers\", t_14);\n}\nif(frame.topLevel) {\ncontext.addExport(\"performers\", t_14);\n}\noutput += \"\\n \";\nvar t_15;\nt_15 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_publisher\"):runtime.memberLookup((t_10),\"publisher\"));\nframe.set(\"publisher\", t_15, true);\nif(frame.topLevel) {\ncontext.setVariable(\"publisher\", t_15);\n}\nif(frame.topLevel) {\ncontext.addExport(\"publisher\", t_15);\n}\noutput += \"\\n \";\nvar t_16;\nt_16 = (runtime.contextOrFrameLookup(context, frame, \"report_type\") != 4?runtime.memberLookup((t_10),\"track_duration\"):runtime.memberLookup((t_10),\"duration\"));\nframe.set(\"duration\", t_16, true);\nif(frame.topLevel) {\ncontext.setVariable(\"duration\", t_16);\n}\nif(frame.topLevel) {\ncontext.addExport(\"duration\", t_16);\n}\noutput += \"\\n\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2 && runtime.contextOrFrameLookup(context, frame, \"report_type\") != 5) {\noutput += \"\\n \\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"name\")?runtime.contextOrFrameLookup(context, frame, \"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_10),\"track_id\")) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"author_music\")?runtime.contextOrFrameLookup(context, frame, \"author_music\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"author_text\")?runtime.contextOrFrameLookup(context, frame, \"author_text\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"performers\")?runtime.contextOrFrameLookup(context, frame, \"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"publisher\")?runtime.contextOrFrameLookup(context, frame, \"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"report_status\") == 2 && runtime.contextOrFrameLookup(context, frame, \"report_type\") != 5) {\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 32, colno = 28, runtime.callWrap(t_4, \"bInlineEdit\", context, [runtime.memberLookup((t_10),\"count_play\"),{\"name\": \"count_play\",\"value\": (runtime.memberLookup((t_10),\"count_play\")?runtime.memberLookup((t_10),\"count_play\"):0)},[{\"name\": \"id\",\"value\": runtime.memberLookup((t_10),\"id\")}]])), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_10),\"count_play\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"duration\")?env.getFilter(\"convert_second\").call(context, runtime.contextOrFrameLookup(context, frame, \"duration\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-report/l-report__phonogram-table-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-report/l-report__phonogram-table-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-inline-edit/b-inline-edit.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar macro_t_1 = runtime.makeMacro(\n[\"preview_text\"], \n[\"input_params\", \"hidden_fields\"], \nfunction (l_preview_text, kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nframe.set(\"preview_text\", l_preview_text);\nframe.set(\"input_params\", kwargs.hasOwnProperty(\"input_params\") ? kwargs[\"input_params\"] : {});\nframe.set(\"hidden_fields\", kwargs.hasOwnProperty(\"hidden_fields\") ? kwargs[\"hidden_fields\"] : {});\nvar t_2 = \"\";t_2 += \"\\n\\n
\\n
\\n \";\nt_2 += runtime.suppressValue(l_preview_text, env.opts.autoescape);\nt_2 += \"\\n
\\n
\\n \";\nframe = frame.push();\nvar t_5 = runtime.contextOrFrameLookup(context, frame, \"hidden_fields\");\nif(t_5) {var t_4 = t_5.length;\nfor(var t_3=0; t_3 < t_5.length; t_3++) {\nvar t_6 = t_5[t_3];\nframe.set(\"field\", t_6);\nframe.set(\"loop.index\", t_3 + 1);\nframe.set(\"loop.index0\", t_3);\nframe.set(\"loop.revindex\", t_4 - t_3);\nframe.set(\"loop.revindex0\", t_4 - t_3 - 1);\nframe.set(\"loop.first\", t_3 === 0);\nframe.set(\"loop.last\", t_3 === t_4 - 1);\nframe.set(\"loop.length\", t_4);\nt_2 += \"\\n \\n \";\n;\n}\n}\nframe = frame.pop();\nt_2 += \"\\n \\n \\n
\\n
\\n\\n\";\n;\nframe = frame.pop();\nreturn new runtime.SafeString(t_2);\n});\ncontext.addExport(\"bInlineEdit\");\ncontext.setVariable(\"bInlineEdit\", macro_t_1);\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-inline-edit/b-inline-edit.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-inline-edit/b-inline-edit.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../b-phonogram-add/b-phonogram-add__content-table-item.html\"] = require( \"../b-phonogram-add/b-phonogram-add__content-table-item.html\" );\ndependencies[\"../b-phonogram-add/b-phonogram-add__filter.html\"] = require( \"../b-phonogram-add/b-phonogram-add__filter.html\" );\ndependencies[\"../b-phonogram-add/b-phonogram-add-new-modal.html\"] = require( \"../b-phonogram-add/b-phonogram-add-new-modal.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-add/b-phonogram-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/b-phonogram-add/b-phonogram-add.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n
\\n
\\n Добавить фонограмму\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 7, colno = 20, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-phonogram-add__search\"},{\"placeholder\": \"Поиск по наименованию, исполнителю, изготовителю, альбому\"}])), env.opts.autoescape);\noutput += \"\\n\\n \\n Фильтр \\n \\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/b-phonogram-add/b-phonogram-add.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../b-phonogram-add/b-phonogram-add__content-table-item.html\", false, \"../templates/b-phonogram-add/b-phonogram-add.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Наименование\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Альбом\\n
\\n
\\n
\\n Год издания\\n
\\n
\\n
\\n Хронометраж\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-add/b-phonogram-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-add/b-phonogram-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-add/b-phonogram-add__content-table-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"phonogram\")),\"item_list\"))) {\noutput += \"\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"phonogram\")),\"item_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performers\")?runtime.memberLookup((t_4),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"album_name\")?runtime.memberLookup((t_4),\"album_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"public_year\")?runtime.memberLookup((t_4),\"public_year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Автор музыки:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"author_music\")?runtime.memberLookup((t_4),\"author_music\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Автор текста:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"author_text\")?runtime.memberLookup((t_4),\"author_text\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Альбом:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"album_name\")?runtime.memberLookup((t_4),\"album_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Год публикации:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"public_year\")?runtime.memberLookup((t_4),\"public_year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n ISRC:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"isrc\")?runtime.memberLookup((t_4),\"isrc\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Статус записи (в СУПР):
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Момент создания записи (в СУПР):
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\n;\n}\nelse {\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"phonogram\")),\"params\")),\"search\"))) {\noutput += \"\\n \\n \\n По вашему запросу \\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"phonogram\")),\"params\")),\"search\"), env.opts.autoescape);\noutput += \"\\\" ничего не найдено\\n

\\n \\n \\n \\n\";\n;\n}\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-add/b-phonogram-add__content-table-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-add/b-phonogram-add__content-table-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-add/b-phonogram-add__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Наименование
\\n \\n
\\n
\\n
Исполнитель
\\n \\n
\\n
\\n
Изготовитель
\\n \\n
\\n
\\n
Альбом
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-add/b-phonogram-add__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-add/b-phonogram-add__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-add/b-phonogram-add-new-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n\\n
\\n Добавить фонограмму\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-add/b-phonogram-add-new-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-add/b-phonogram-add-new-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../b-music-libery-reports-list/b-music-libery-reports-list__table-item.html\"] = require( \"../b-music-libery-reports-list/b-music-libery-reports-list__table-item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-music-libery-reports-list/b-music-libery-reports-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/b-music-libery-reports-list/b-music-libery-reports-list.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n\\n
\\n
\\n Добавить отчет\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 8, colno = 20, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-reward-reports-add__search\"},{\"placeholder\": \"Поиск по пользователю, номеру договора\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../b-music-libery-reports-list/b-music-libery-reports-list__table-item.html\", false, \"../templates/b-music-libery-reports-list/b-music-libery-reports-list.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n Период\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Категория\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Сумма по отчету\\n
\\n
\\n
\\n Источник\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-music-libery-reports-list/b-music-libery-reports-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-music-libery-reports-list/b-music-libery-reports-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-music-libery-reports-list/b-music-libery-reports-list__table-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_category_group_name\")?runtime.memberLookup((t_4),\"contract_category_group_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_num\")?runtime.memberLookup((t_4),\"contract_num\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"amount\")?runtime.memberLookup((t_4),\"amount\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-music-libery-reports-list/b-music-libery-reports-list__table-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-music-libery-reports-list/b-music-libery-reports-list__table-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../b-phonogram-relay/b-phonogram-relay__stations-item.html\"] = require( \"../b-phonogram-relay/b-phonogram-relay__stations-item.html\" );\ndependencies[\"../b-phonogram-relay/b-phonogram-relay__phonogram-item.html\"] = require( \"../b-phonogram-relay/b-phonogram-relay__phonogram-item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-relay/b-phonogram-relay.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/b-phonogram-relay/b-phonogram-relay.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n
\\n
\\n Ретрансляция\\n
\\n
\\n
\\n
Радиостанции
\\n
Фонограммы за период \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.contextOrFrameLookup(context, frame, \"month\"),\"numbers\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 13, colno = 28, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-phonogram-relay__search-station\"},{\"placeholder\": \"Название\"}])), env.opts.autoescape);\noutput += \"\\n
\\n \";\nenv.getTemplate(\"../b-phonogram-relay/b-phonogram-relay__stations-item.html\", false, \"../templates/b-phonogram-relay/b-phonogram-relay.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nframe = frame.push();\nvar t_11 = runtime.contextOrFrameLookup(context, frame, \"track_list\");\nif(t_11) {var t_10 = t_11.length;\nfor(var t_9=0; t_9 < t_11.length; t_9++) {\nvar t_12 = t_11[t_9];\nframe.set(\"item\", t_12);\nframe.set(\"loop.index\", t_9 + 1);\nframe.set(\"loop.index0\", t_9);\nframe.set(\"loop.revindex\", t_10 - t_9);\nframe.set(\"loop.revindex0\", t_10 - t_9 - 1);\nframe.set(\"loop.first\", t_9 === 0);\nframe.set(\"loop.last\", t_9 === t_10 - 1);\nframe.set(\"loop.length\", t_10);\noutput += \"\\n \";\nenv.getTemplate(\"../b-phonogram-relay/b-phonogram-relay__phonogram-item.html\", false, \"../templates/b-phonogram-relay/b-phonogram-relay.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n \";\n})});\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 40, colno = 52, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-phonogram-relay__search-name\"},{\"placeholder\": \"Наименование\",\"name\": \"track_name_like\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 50, colno = 52, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-phonogram-relay__search-singer\"},{\"placeholder\": \"Исполнитель\",\"name\": \"track_performers_like\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 60, colno = 52, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-phonogram-relay__search-producer\"},{\"placeholder\": \"Изготовитель\",\"name\": \"track_publisher_like\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n Кол-во сообщ. в эфир\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-relay/b-phonogram-relay.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-relay/b-phonogram-relay.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-relay/b-phonogram-relay__stations-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-relay/b-phonogram-relay__stations-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-relay/b-phonogram-relay__stations-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-phonogram-relay/b-phonogram-relay__phonogram-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"track_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_name\")?runtime.memberLookup((t_4),\"track_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_performers\")?runtime.memberLookup((t_4),\"track_performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_publisher\")?runtime.memberLookup((t_4),\"track_publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"count_play\")?runtime.memberLookup((t_4),\"count_play\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-phonogram-relay/b-phonogram-relay__phonogram-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-relay/b-phonogram-relay__phonogram-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-error-modal/b-error-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Произошла ошибка\\n
\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"message\")), env.opts.autoescape);\noutput += \"\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-error-modal/b-error-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-error-modal/b-error-modal.html","import {create_widget, prepare_content, get_widget} from '../../helpers'\nimport Events from '../../events'\n\nconst ESC_KEY = 27;\nconst PARAMS = ['width'];\nconst STATE_HIDE = 0;\nconst STATE_SHOW = 1;\n\n\nexport default class iModal extends Events{\n\n\n constructor(html_string, params={}) {\n super();\n this.dom = {\n widget: document.createElement('DIV'),\n box: document.createElement('DIV'),\n close_button: document.createElement('I')\n };\n\n this.params = Object.assign({\n node_link: document.body,\n width: '',\n state: STATE_HIDE,\n strict_hide: false\n\n }, params);\n\n\n if (get_widget(this.params.node_link, 'iModal')) {\n return;\n }\n\n create_widget(this.params.node_link, this);\n create_widget(this.dom.box, this);\n\n this._create(html_string);\n }\n\n\n /**\n * Ссылка на box\n * @returns {*}\n */\n get element() {\n return this.dom.box;\n }\n\n\n /**\n * Возвращает состояние modal\n\n * @returns {*}\n */\n get state() {\n return this.params.state;\n }\n\n\n /**\n * Показать\n */\n show() {\n document.body.style.overflow = 'hidden';\n this.dom.widget.classList.add('i-modal_show');\n\n this.dispatch('show');\n this.params.state = STATE_SHOW;\n }\n\n\n /**\n * Скрыть\n */\n hide() {\n document.body.style.overflow = '';\n this.dom.widget.classList.remove('i-modal_show');\n this.dispatch('hide', [this]);\n this.params.state = STATE_HIDE;\n }\n\n\n /**\n\n * Изменение состояния\n */\n toggle() {\n if(this.state == STATE_HIDE) {\n this.show()\n } else if(this.state == STATE_SHOW) {\n this.hide()\n }\n }\n\n\n _create(html_string) {\n this.dom.box.innerHTML = html_string;\n this.dom.widget.className = 'i-modal';\n this.dom.box.className = 'i-modal__box';\n this.dom.close_button.className = 'i-modal__close';\n this.dom.widget.appendChild(this.dom.box);\n this.dom.box.appendChild(this.dom.close_button);\n\n this._insert_params();\n\n this.dom.close_button.addEventListener('click',\n this.hide.bind(this)\n );\n\n if (!this.params.strict_hide) {\n this.dom.widget.addEventListener('click', function (event) {\n if (event.target === this.dom.widget) {\n this.hide();\n }\n }.bind(this));\n }\n\n window.addEventListener('keyup', function (event) {\n if (event.keyCode === ESC_KEY) {\n this.hide();\n }\n }.bind(this));\n\n document.body.appendChild(this.dom.widget);\n\n prepare_content(this.dom.box);\n }\n\n\n change_body(html_string) {\n this.dom.box.innerHTML = html_string;\n this.dom.box.appendChild(this.dom.close_button);\n this.dom.close_button.addEventListener('click',\n this.hide.bind(this)\n );\n prepare_content(this.dom.box);\n }\n\n\n _insert_params() {\n Object.keys(this.params).forEach(function (key) {\n if (this.params[key] && PARAMS.indexOf(key) > -1) {\n this.dom.widget.classList.add('i-modal_'+key+'-'+this.params[key]);\n }\n }.bind(this))\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-modal/i-modal.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-comparison/l-comparison__status-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Сопоставление...\\n
\\n\\n
\\n
\\n
\\n Отчет находится в режиме автоматического сопоставления\\n
\\n
\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-comparison/l-comparison__status-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-comparison/l-comparison__status-modal.html","import template from '../templates/l-comparison/l-comparison.html';\nimport phonogram_item from '../templates/l-comparison/l-comparison__phonogram-item.html'\nimport modal_template from '../templates/b-comparison-manual/b-comparison-manual.html'\nimport Controller from './main';\nimport Router from 'blocko/router';\nimport {parse_json, post, get_widget, attach_event, each, closest} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport comparison_status_modal from '../templates/l-comparison/l-comparison__status-modal.html'\nimport comparsion_phonogram_report from '../templates/l-comparison/l-comparsion__phonogram-report.html'\n\nimport { get_context } from 'blocko/functions/context'\n\n\nclass Comparison extends Controller {\n\n static get route() {\n return '/reports//comparison/';\n }\n\n\n constructor(params, query) {\n super();\n super.add('query', query);\n super.add('active_menu', '/');\n super.add('progress_status', {\n 35: 'В очереди на обработку',\n 55: 'Идет обработка файла',\n 100: 'Готово'\n });\n super.prepare_context({\n report: {\n path: '/api/red/report/get?with=file',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n tracks: {\n path: '/api/red/report/track/list',\n data: Object.assign({report_id: params.id}, query)\n },\n url_list: {\n path: '/api/red/url/list',\n handler: response => {\n if (response.success) {\n this.add('url_list', response.urls);\n }\n }\n }\n });\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n combo_item: document.querySelectorAll('.l-comparison-filter .b-combo__item'),\n radio_buttons: document.querySelectorAll('.l-comparison-filter .b-combo input'),\n table_body: document.querySelector('.l-comparison__phonogram-body'),\n table: document.querySelector('.l-comparison__phonogram-table'),\n table_wrap: document.querySelector('.l-comparison__phonogram__table-wrap'),\n auto_comparison_button: document.querySelector('.l-comparison__auto-comparison'),\n search_phonogram: document.querySelector('.l-report__search-phonogram'),\n filter_phonogram: document.querySelector('.l-report__filter-phonogram'),\n create_phonogram: document.querySelector('.l-comparison__create_phonogram')\n };\n\n this.report_id = this.get_param('report').params.id;\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n report_id: this.report_id\n };\n\n this.report_date = get_context('report').report.ctime_unixtime;\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.is_rendered = false;\n\n this.search_widget = get_widget(this.dom.search_phonogram, 'bSearch');\n this.filter_widget = get_widget(this.dom.filter_phonogram, 'bDropdownFilter');\n this.filter_widget.form_submit(null, false);\n\n this._bind();\n\n let { status } = this.get_param('report').report;\n\n if (status == 13 || status == 14) {\n this.show_comparison_inProgress_modal();\n }\n\n if (this.dom.create_phonogram) {\n this.confirm_creation_modal = get_widget(this.dom.create_phonogram, 'bConfirmModal');\n }\n }\n\n\n _bind() {\n if (this.search_widget) {\n this.search_widget.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.search_widget.attach('click', widget => {\n this._reset_search(widget);\n });\n }\n\n if (this.filter_widget) {\n this.filter_widget.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.filter_widget.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.filter_widget.attach('click', widget => {\n this._event_filter(widget);\n });\n }\n\n this.dom.table_body.addEventListener('click', event => {\n if(event.target.classList.contains('l-comparison__edit-button')) {\n this._create_modal(event);\n }\n\n let removeButton = closest(event.target, '.l-comparison__remove-button');\n\n if (removeButton) {\n this.remove_item(removeButton);\n }\n });\n\n if (this.dom.combo_item.length) {\n attach_event(this.dom.radio_buttons, 'click', event => {\n event.stopPropagation();\n\n each(this.dom.combo_item, item => {\n item.classList.remove('b-combo__item_active');\n });\n\n event.target.parentNode.classList.add('b-combo__item_active');\n\n this._event_combo_filter(event);\n });\n }\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this.dom.auto_comparison_button.addEventListener('click', () => {\n this.start_auto_comparison();\n });\n\n this.dom.create_phonogram.addEventListener('click', this._confirm_creation.bind(this));\n }\n\n _confirm_creation() {\n this.confirm_creation_modal.change_content(`Вы действительно хотите создать фонограммы по всем несопоставленным объектам?`);\n \n this.confirm_creation_modal.attach('confirm', () => {\n this._create_phonograms()\n });\n }\n\n _create_phonograms() {\n\n const renderModal = (modal, data = {}) => {\n modal.change_body(this.render(comparsion_phonogram_report, data));\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n };\n\n let modal = new iModal(template, { strict_hide: true });\n let template = renderModal(modal, this.modal_create);;\n\n\n \n let query_params = Object.assign(this.query_params, {report_id: this.report_id, user_id: this.user_id});\n post('/api/red/task/add?action=track_items_add_new_in_mass_from_report_3504', query_params, response => {\n response = parse_json(response);\n if (response.success) {\n let task_id = response.data.task.id;\n \n window.addEventListener('keyup', event => event.stopPropagation(), true);\n\n modal.dom.close_button.style.display = 'none';\n modal.show();\n\n var interval = setInterval(() => {\n post('/api/red/task/get', { id: task_id }, response => {\n response = JSON.parse(response);\n console.log(response);\n let status = response.data.task.status;\n\n renderModal(modal, response.data);\n \n if (status == 3 || status == 4) {\n clearInterval(interval);\n }\n });\n }, 1000);\n }\n })\n };\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else if (!value.length) {\n this._reset_search(widget);\n } else {\n this.dom.table_body.innerHTML = this.render(phonogram_item, {\n tracks: this.get_param('tracks')\n });\n }\n }\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_filter(widget) {\n this.query_params = Object.assign(this.query_params, widget.form.dict, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/report/track/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_body.insertAdjacentHTML('beforeEnd', this.render(phonogram_item, {tracks: response.data}));\n\n if (response.data.track_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _create_modal(event) {\n let modal = get_widget(event.currentTarget, 'iModal');\n if (!modal) {\n modal = new iModal(modal_template, {\n node_link: event.currentTarget,\n strict_hide: true\n });\n }\n\n let track_id = event.target.getAttribute('data-id');\n\n post('/api/red/report/track/get', {id: track_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n\n let track_data = response.data,\n data = {\n alias_name_like: track_data.track.name,\n alias_performers_like: track_data.track.performer,\n alias_publisher_like: track_data.track.publisher,\n };\n\n data.date = this.report_date\n\n post('/api/red/track/list', data, response => {\n response = parse_json(response);\n\n let track_list = response.data;\n\n if (response.success == 1) {\n modal.change_body(this.render(modal_template, Object.assign(track_data, track_list, {track_id: track_id})));\n modal.show();\n }\n });\n }\n });\n }\n\n\n _event_combo_filter(event) {\n this.query_params['status'] = event.target.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n this._post_data(this.query_params);\n }\n\n\n _post_data(data) {\n post('/api/red/report/track/list', data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.table_body.innerHTML = this.render(phonogram_item, {tracks: response.data});\n }\n\n start_auto_comparison() {\n post('/api/red/report/status', { id: this.report_id, status: 13 }, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n this.show_comparison_inProgress_modal();\n }\n });\n }\n\n show_comparison_inProgress_modal() {\n let template = this.render(comparison_status_modal, {});\n let modal = new iModal(template, { strict_hide: true });\n\n window.addEventListener('keyup', event => event.stopPropagation(), true);\n\n modal.dom.close_button.style.display = 'none';\n modal.show();\n\n setInterval(() => {\n post('/api/red/report/get', { id: this.report_id }, response => {\n response = JSON.parse(response);\n\n let { status } = response.data.report;\n\n if (!(status == 13 || status == 14)) {\n location.reload();\n }\n });\n }, 5000);\n }\n\n remove_item(button) {\n let confirmModal = get_widget(button, 'bConfirmModal');\n\n confirmModal.change_content(`Вы действительно хотите удалить эту фонограмму?`);\n confirmModal._confirm_action = () => {\n let { report_id } = this;\n let id = button.getAttribute('data-id');\n\n confirmModal.b_button_submit.block_button();\n confirmModal.dom.cancel_button.disabled = true;\n\n post('/api/red/report/track/del', { report_id, id }, response => {\n confirmModal.modal.hide();\n\n response = JSON.parse(response);\n\n if (response.success) {\n let phonogramItem = closest(button, '.l-comparison__phonogram-item');\n\n phonogramItem.style.display = 'none';\n }\n });\n };\n }\n\n}\n\nRouter.add_page(Comparison);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/comparison.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../b-report-data/b-report-data.html\"] = require( \"../b-report-data/b-report-data.html\" );\ndependencies[\"../l-report/l-report__phonogram-filter.html\"] = require( \"../l-report/l-report__phonogram-filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-comparison/l-comparison__phonogram-item.html\"] = require( \"../l-comparison/l-comparison__phonogram-item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-comparison/l-comparison.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-comparison/l-comparison.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nvar t_3;\nt_3 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"type\");\nframe.set(\"report_type\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_type\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_type\", t_3);\n}\noutput += \"\\n\";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status\");\nframe.set(\"report_status\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"report_status\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"report_status\", t_4);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-comparison/l-comparison.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bSearch\")) {\nvar t_8 = t_5.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_8);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-comparison/l-comparison.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_12 = t_9.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_12);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_14,t_13) {\nif(t_14) { cb(t_14); return; }\noutput += t_13;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n \\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contragent_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n от \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"month_unixtime\"),\"numbers\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"report\")),\"report\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../b-report-data/b-report-data.html\", false, \"../templates/l-comparison/l-comparison.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue((lineno = 28, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-report__search-phonogram\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по названию, исполнителю, изготовителю\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 36, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_19 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_20 = \"\";env.getTemplate(\"../l-report/l-report__phonogram-filter.html\", false, \"../templates/l-comparison/l-comparison.html\", null, function(t_23,t_21) {\nif(t_23) { cb(t_23); return; }\nt_21.render(context.getVariables(), frame, function(t_24,t_22) {\nif(t_24) { cb(t_24); return; }\nt_20 += t_22\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_20);\n});\nreturn macro_t_19;})()})])), env.opts.autoescape);\noutput += \"\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-comparison/l-comparison.html\", null, function(t_27,t_25) {\nif(t_27) { cb(t_27); return; }\nt_25.render(context.getVariables(), frame, function(t_28,t_26) {\nif(t_28) { cb(t_28); return; }\noutput += t_26\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-comparison/l-comparison__phonogram-item.html\", false, \"../templates/l-comparison/l-comparison.html\", null, function(t_31,t_29) {\nif(t_31) { cb(t_31); return; }\nt_29.render(context.getVariables(), frame, function(t_32,t_30) {\nif(t_32) { cb(t_32); return; }\noutput += t_30\noutput += \"\\n \\n
\\n
\\n Загруженные из файла\\n
\\n
\\n
\\n Сопоставленные фонограммы\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-comparison/l-comparison.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-comparison/l-comparison.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-comparison/l-comparison__phonogram-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"track_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")):\"-\"), env.opts.autoescape);\noutput += \"
Музыка: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"author_music\")?runtime.memberLookup((t_4),\"author_music\"):\"-\"), env.opts.autoescape);\noutput += \"Исполнитель: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performer\")?runtime.memberLookup((t_4),\"performer\"):\"-\"), env.opts.autoescape);\noutput += \"
Текст: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"author_text\")?runtime.memberLookup((t_4),\"author_text\"):\"-\"), env.opts.autoescape);\noutput += \"Изготовитель: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_name\")?runtime.memberLookup((t_4),\"track_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"track_duration\")):\"-\"), env.opts.autoescape);\noutput += \"
Музыка: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_author_music\")?runtime.memberLookup((t_4),\"track_author_music\"):\"-\"), env.opts.autoescape);\noutput += \"Исполнитель: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_performers\")?runtime.memberLookup((t_4),\"track_performers\"):\"-\"), env.opts.autoescape);\noutput += \"
Текст: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_author_text\")?runtime.memberLookup((t_4),\"track_author_text\"):\"-\"), env.opts.autoescape);\noutput += \"Изготовитель: \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_publisher\")?runtime.memberLookup((t_4),\"track_publisher\"):\"-\"), env.opts.autoescape);\noutput += \"
\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 4) {\noutput += \"\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-comparison/l-comparison__phonogram-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-comparison/l-comparison__phonogram-item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../b-comparison-manual/b-comparison-manual__item.html\"] = require( \"../b-comparison-manual/b-comparison-manual__item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-comparison-manual/b-comparison-manual.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/b-comparison-manual/b-comparison-manual.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n
\\n
\\n Сопоставить вручную\\n
\\n
\\n
\\n
\\n Загруженная фонограмма\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Наименование:\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"name\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n Изготовитель:\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"publisher\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n Исполнитель:\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"performer\")) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"performer\"), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n Хронометраж: \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"duration\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"duration\"):\"\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Наименование\\n \\n \\n
\\n Исполнитель\\n \\n \\n
\\n Изготовитель\\n \\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n
\\n
\\n
\\n
Сопоставленная фонограмма
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../b-comparison-manual/b-comparison-manual__item.html\", false, \"../templates/b-comparison-manual/b-comparison-manual.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n Действующие права\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-comparison-manual/b-comparison-manual.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-comparison-manual/b-comparison-manual.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../b-comparison-manual/b-comparison-manual__box.html\"] = require( \"../b-comparison-manual/b-comparison-manual__box.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-comparison-manual/b-comparison-manual__item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"item_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performers\")?runtime.memberLookup((t_4),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"duration\")?env.getFilter(\"convert_second\").call(context, runtime.memberLookup((t_4),\"duration\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"id\") == runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"track\")),\"track_id\")) {\noutput += \"\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(!runtime.contextOrFrameLookup(context, frame, \"is_fonmix\")) {\noutput += \"\\n Изменить\\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"have_actual_rights_for_date\") == 1) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nenv.getTemplate(\"../b-comparison-manual/b-comparison-manual__box.html\", false, \"../templates/b-comparison-manual/b-comparison-manual__item.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n\";\n})});\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-comparison-manual/b-comparison-manual__item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-comparison-manual/b-comparison-manual__item.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-comparison-manual/b-comparison-manual__box.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n Автор музыки:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"author_music\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"author_music\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Автор текста:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"author_text\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"author_text\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Альбом:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"album_name\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"album_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Год публикации:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"public_year\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"public_year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n ISRC:
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"isrc\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"isrc\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Статус записи (в СУПР):
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status_name\")?runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Момент создания записи (в СУПР):
\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"ctime_unixtime\"),\"numbers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n
\\n Права:
\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"is_actuality\")?\"Да\":\"Нет\"), env.opts.autoescape);\noutput += \"\\n
\\n \\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-comparison-manual/b-comparison-manual__box.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-comparison-manual/b-comparison-manual__box.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-comparison/l-comparsion__phonogram-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создание фонограмм\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 3 && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") != 4) {\noutput += \"\\n
\\n
\\n   \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n
Строк в обработке: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_all\"), env.opts.autoescape);\noutput += \"
\\n
Обработано: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_to_tracks_success\"), env.opts.autoescape);\noutput += \"
\\n
Ошибок: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"objects_to_tracks_error\"), env.opts.autoescape);\noutput += \"
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 4) {\noutput += \"\\n

Ошибка выполнения

\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"result\")),\"error_message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-comparison/l-comparsion__phonogram-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-comparison/l-comparsion__phonogram-report.html","import template from '../templates/l-ratings/l-ratings.html'\nimport rating_items from '../templates/l-ratings/l-ratings__table-content.html'\nimport modal_template from '../templates/l-ratings/l-ratings__add-rating-modal.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, each, convert_date, plural_form} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iCheck from 'blocko/widgets/i-checker/i-checker'\n\n\nclass Ratings extends Controller {\n\n static get route() {\n return '/ratings/';\n }\n\n\n constructor() {\n super();\n super.prepare_context({\n ratings: {\n path: '/api/red/rating/list',\n data: {\n order_by: 'month:desc',\n with: 'reward'\n }\n }\n });\n\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n content: document.querySelector('.l-ratings__table-content'),\n button_add: document.querySelector('.l-ratings__button-add-rating'),\n button_delete: document.querySelector('.l-ratings__button-delete-selected'),\n button_distribute: document.querySelector('.l-ratings__button-distribute-selected'),\n checkbox_all: document.querySelector('.l-ratings__table-checkbox-all'),\n checkbox_item: document.querySelectorAll('.l-ratings__table-checkbox'),\n table_wrap: document.querySelector('.l-ratings__table-wrap'),\n table: document.querySelector('.l-ratings__table'),\n };\n\n this.checker = new iCheck(this.dom.checkbox_all, this.dom.checkbox_item);\n this.modal = undefined;\n this.delete_confirm_modal = get_widget(this.dom.button_delete, 'bConfirmModal');\n this.distribute_confirm_modal = get_widget(this.dom.button_distribute, 'bConfirmModal');\n\n this.checked_ratings = [];\n this.query_params = {\n order_by: 'month:desc',\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n with: 'reward'\n };\n this.is_rendered = false;\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.button_add.addEventListener('click', this._show_modal.bind(this));\n this.dom.button_delete.addEventListener('click', () => {\n if (this.checked_ratings.length) {\n this.delete_confirm_modal.change_content(`Вы действительно хотите удалить строки?`);\n }\n });\n\n this.delete_confirm_modal.attach('confirm', (event, widget) => {\n this._delete_rating(event, widget);\n });\n\n this.dom.button_distribute.addEventListener('click', () => {\n if (this.checked_ratings.length) {\n this.distribute_confirm_modal.change_content(\n `Вы действительно хотите распределить ${this.checked_ratings.length} ${plural_form(123, ['документ', 'документа', 'докуметов'])}?`\n );\n }\n });\n this.distribute_confirm_modal.attach('confirm', (event, widget) => {\n this._distribute_rating(event, widget);\n });\n\n this.checker.attach('check', (widget, event) => {\n this.checked_ratings = widget.checked_items;\n this._select_row(event);\n });\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/rating/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(rating_items, {ratings: response.data}));\n\n if (response.data.rating_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _error_modal(event, message, reload = false) {\n\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(this.render(errormodal_template, {message: message}));\n modal.show();\n\n if (reload) {\n modal.attach('hide', event => {\n location.reload();\n });\n }\n }\n\n\n /**\n * Удаление выбранных рейтингов\n * @private\n */\n _delete_rating(event, widget) {\n if (this.checked_ratings.length == 0) {\n return;\n }\n let id_list = this.checked_ratings.map(item => {\n return item.value;\n });\n\n widget.b_button_submit.block_button();\n post('/api/red/rating/del', {id: id_list.join(',')}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n let message = '';\n let err_count = 0;\n\n each(Object.keys(response.data.rating_list), key => {\n let rating = response.data.rating_list[key];\n\n if (rating.state == 0) {\n err_count++;\n\n message += 'Нельзя удалить рейтинг за ' + convert_date(rating.item.month_unixtime, 'month');\n message += ' ' + convert_date(rating.item.month_unixtime, 'year');\n message += ' в статусе \"' + rating.item.status_name + '\"
';\n }\n });\n\n if (err_count > 0) {\n this._error_modal(event, message, true);\n } else {\n location.reload();\n }\n\n } else {\n this._error_modal(event, response.errmess);\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n /**\n * Распределение выбраных рейтингов\n * @private\n */\n _distribute_rating(event, widget) {\n if (this.checked_ratings.length == 0) {\n return;\n }\n let id_list = this.checked_ratings.map(item => {\n return item.value;\n });\n\n widget.b_button_submit.block_button();\n post('/api/red/rating/distribute', {id: id_list.join(',')}, response=> {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n } else {\n this._error_modal(event, response.errmess);\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n /**\n * Показ модального окна\n * @private\n */\n _show_modal(event) {\n let button = event.target;\n\n this.modal = get_widget(button, 'iModal');\n\n if (!this.modal) {\n this.modal = new iModal(this.render(modal_template, {\n month_list: this._set_period(),\n selected_month: this._get_selected_month()\n }), {\n node_link: event.target,\n strict_hide: true\n });\n this._set_track_count();\n\n this.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n this.modal.hide();\n });\n\n this.modal.dom.box.querySelector('.l-ratings__button-get-balance').addEventListener('click', this._getBalance.bind(this));\n }\n this.modal.show();\n }\n\n\n /**\n * Выделени выбранных строк таблицы\n * @param event\n * @private\n */\n _select_row(event) {\n if (event.target.classList.contains('l-ratings__table-checkbox-all')) {\n if (event.target.checked) {\n each(this.checked_ratings, item => {\n let row = document.querySelector('[data-id=\"' + item.value + '\"]');\n row.classList.add('selected-row');\n });\n } else {\n each(this.dom.checkbox_item, item => {\n let row = document.querySelector('[data-id=\"' + item.value + '\"]');\n row.classList.remove('selected-row');\n });\n }\n } else {\n let row = document.querySelector('[data-id=\"' + event.target.value + '\"]');\n if (event.target.checked) {\n row.classList.add('selected-row');\n } else {\n row.classList.remove('selected-row');\n }\n }\n }\n\n\n /**\n * Получает значение колличества треков из настроек системы. Заполняет соответсвующее поле.\n * @private\n */\n _set_track_count() {\n post('/api/red/thesaurus/constant/get', {key:'PHONOGRAMS_FOR_RATING'}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n this.modal.dom.box.querySelector('.l-ratings__input-track-count').value = response.data.constant.value;\n }\n });\n }\n\n\n /**\n * Возвращает массив month_list. Исходя из следующих условий:\n * * Все месяца текущего года, кроме текущего месяца (1 число месяца, время - 00:00:00)\n * * Все месяца предыдущего года (1 число месяца, время - 00:00:00)\n * @private\n */\n _set_period() {\n let month_list = [];\n\n let year = new Date().getFullYear();\n let month = new Date().getMonth() - 1;\n\n let prev_year_month = 11;\n let prev_year = year - 1;\n\n while (month >= 0) {\n month_list.push(new Date(Date.UTC(year, month--, 1, 0, 0, 0)).getTime()/1000);\n }\n\n while (prev_year_month >= 0) {\n month_list.push(new Date(Date.UTC(prev_year, prev_year_month--, 1, 0, 0, 0)).getTime()/1000);\n }\n return month_list;\n }\n\n\n /**\n * Возвращает выбранный по дефолту месяц в unixtime. По следующим критериям - месяц, следующий за последним в рейтинге\n * Если полученная дата = текущей дате - возвращает null\n * @returns {*}\n * @private\n */\n _get_selected_month() {\n if (this.get_param('ratings').rating_list.length) {\n let current_date = new Date(Date.UTC(new Date().getFullYear(), new Date().getMonth() , 1, 0, 0, 0)).getTime();\n let last_rating_month = new Date(this.get_param('ratings').rating_list[0].month_unixtime*1000);\n let selected_month = undefined;\n\n if (last_rating_month === 11) {\n selected_month = new Date(Date.UTC(last_rating_month.getFullYear() + 1, 0, 1, 0, 0, 0)).getTime();\n } else {\n selected_month = new Date(Date.UTC(last_rating_month.getFullYear(), last_rating_month.getMonth() + 1, 1, 0, 0, 0)).getTime();\n }\n\n if (selected_month === current_date) {\n return null;\n }\n return selected_month/1000;\n }\n return null;\n }\n\n _getBalance() {\n let sum_filed = this.modal.dom.box.querySelector('.l-ratings__input-sum');\n let button = this.modal.dom.box.querySelector('.l-ratings__button-get-balance');\n button.style.cursor = sum_filed.style.cursor = 'progress';\n\n post('/api/red/rating/balance', {}, response => {\n response = parse_json(response);\n if (response.success) {\n sum_filed.value = response.data.balance;\n }\n button.style.cursor = 'pointer';\n sum_filed.style.cursor = 'auto';\n });\n }\n}\n\nRouter.add_page(Ratings);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/ratings.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-ratings/l-ratings__table-content.html\"] = require( \"../l-ratings/l-ratings__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-ratings/l-ratings.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-ratings/l-ratings.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Рейтинги фонограмм
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-ratings/l-ratings__table-content.html\", false, \"../templates/l-ratings/l-ratings.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Период\\n
\\n
\\n
\\n Сумма, руб.\\n
\\n
\\n
\\n Количество фонограмм\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-ratings/l-ratings.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-ratings/l-ratings.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-ratings/l-ratings__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"ratings\")),\"rating_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"last\")) {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_count\")?runtime.memberLookup((t_4),\"track_count\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 5) {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nif((runtime.memberLookup((t_4),\"status\") == 3 || runtime.memberLookup((t_4),\"status\") == 4) && runtime.memberLookup((runtime.memberLookup((t_4),\"reward\")),\"id\")) {\noutput += \"\\n Перейти в\\n распределение\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\") != env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"ratings\")),\"rating_list\")),runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"index0\") + 1)),\"month_unixtime\"),\"year\")) {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_count\")?runtime.memberLookup((t_4),\"track_count\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 5) {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nif((runtime.memberLookup((t_4),\"status\") == 3 || runtime.memberLookup((t_4),\"status\") == 4) && runtime.memberLookup((runtime.memberLookup((t_4),\"reward\")),\"id\")) {\noutput += \"\\n Перейти в\\n распределение\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"track_count\")?runtime.memberLookup((t_4),\"track_count\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 5) {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nif((runtime.memberLookup((t_4),\"status\") == 3 || runtime.memberLookup((t_4),\"status\") == 4) && runtime.memberLookup((runtime.memberLookup((t_4),\"reward\")),\"id\")) {\noutput += \"\\n \\n Перейти в распределение\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \";\n;\n}\n;\n}\noutput += \"\\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-ratings/l-ratings__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-ratings/l-ratings__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-ratings/l-ratings__add-rating-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создать рейтинг\\n
\\n\\n
\\n
\\n
Количество фонограмм
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-ratings/l-ratings__add-rating-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-ratings/l-ratings__add-rating-modal.html","import {get_widget, each, parse_json, post, attach_event} from 'blocko/helpers'\nimport Events from 'blocko/events'\n\n\nexport default class iChecker extends Events{\n\n constructor(checkbox_all, checkbox_item_list) {\n super();\n\n this.checkbox_all = checkbox_all;\n this.checkbox_list = checkbox_item_list;\n this.checked_items = [];\n\n this._set_events();\n }\n\n\n /**\n * Устанавливает эвенты на чекбоксы\n * @private\n */\n _set_events() {\n this.checkbox_all.addEventListener('click', this._event_check.bind(this));\n attach_event(this.checkbox_list, 'click', this._event_check.bind(this));\n }\n\n\n /**\n * Обрабока эвента клика по чекбоксу. Диспатчит эвент check.\n * @private\n */\n _event_check(event) {\n if (event.target == this.checkbox_all) {\n this.check_all();\n }\n\n this.checked_items = Array.prototype.slice.call(this.checkbox_list).filter(item => {\n if (item.checked) {\n return item;\n }\n });\n\n if (this.checked_items.length == this.checkbox_list.length) {\n this.checkbox_all.checked = true;\n } else if (this.checked_items.length == 0) {\n this.checkbox_all.checked = false;\n }\n\n this.dispatch('check', [this, event]);\n }\n\n\n /**\n * Выбрать/снять выбор со всех чекбоксов\n */\n check_all() {\n each(this.checkbox_list, item => {\n item.checked = this.checkbox_all.checked;\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-checker/i-checker.js","import template from '../templates/l-rating/l-rating.html'\nimport add_phonogram_template from '../templates/b-phonogram-add/b-phonogram-add.html'\nimport modal_template from '../templates/l-ratings/l-ratings__add-rating-modal.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport table_content from '../templates/l-rating/l-rating__table-content.html'\nimport upload_template from '../templates/l-rating/l-rating__modal-upload.html'\nimport upload_body_template from '../templates/l-rating/l-rating__modal-upload-body.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, each, closest, attach_event} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iCheck from 'blocko/widgets/i-checker/i-checker'\nimport iDraggable from 'blocko/widgets/i-draggable/i-draggable'\n\n\nconst RATING_STATUS_ERROR = 5;\nconst RATING_STATUS_IN_WORK = 2;\n\nclass Rating extends Controller {\n\n static get route() {\n return '/ratings//';\n }\n\n constructor(params) {\n super();\n super.prepare_context({\n rating: {\n path: '/api/red/rating/get',\n data: {\n id: params.rating_id\n },\n handler: response => {\n if(!response.success) {\n this.abort();\n }\n }\n },\n tracks: {\n path: '/api/red/rating/track/list',\n data: {\n rating_id: params.rating_id,\n order_by: 'position:asc'\n }\n }\n });\n\n this.params = params;\n\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n add_phonogram_modal: document.querySelector('.l-rating__add-phonogram-modal'),\n button_delete: document.querySelector('.l-rating__button-delete-selected'),\n button_to_work: document.querySelector('.l-rating__button-to-work'),\n content: document.querySelector('.l-rating__content'),\n table: document.querySelector('.l-rating__table'),\n table_wrap: document.querySelector('.l-rating__table-wrap'),\n check_all: document.querySelector('.l-rating__table-checkbox-all'),\n check_item: document.querySelectorAll('.l-rating__table-checkbox'),\n footer_panel: document.querySelector('.l-rating__footer-panel'),\n upload_by_rightholders: document.querySelector('.l-rating__button-upload-by-rightholders'),\n upload_by_users: document.querySelector('.l-rating__button-upload-by-users')\n };\n\n this.widgets = {\n b_search: get_widget(document.querySelector('.l-rating__search'), 'bSearch'),\n phonogram_add: undefined,\n draggable: undefined,\n checker: undefined\n };\n\n if (this.dom.button_delete) {\n this.widgets.confirm_modal = get_widget(this.dom.button_delete, 'bConfirmModal');\n }\n\n this.data = {\n rating_id: this.params.rating_id,\n order_by: 'position:asc',\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n };\n this.is_rendered = false;\n this.search_apply = false;\n this.search_timer = 0;\n this.checked_tracks = [];\n this.position_list = [];\n this.rating_status = this.get_param('rating').rating.status;\n\n if (this.rating_status === RATING_STATUS_IN_WORK) {\n this._init_draggable();\n this._init_checker();\n }\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n attach_event(this.dom.add_phonogram_modal, 'click', this._phonogram_modal.bind(this));\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n if (this.dom.button_delete) {\n this.dom.button_delete.addEventListener('click', () => {\n if (this.checked_tracks.length) {\n this.widgets.confirm_modal.change_content(`Вы действительно хотите удалить строки?`);\n }\n });\n this.widgets.confirm_modal.attach('confirm', (event, widget) => {\n this._delete_rating(event, widget);\n });\n }\n\n if (this.rating_status === RATING_STATUS_ERROR) {\n this.dom.button_to_work.addEventListener('click', this._to_work_status.bind(this));\n }\n\n if (this.dom.upload_by_rightholders) {\n this.dom.upload_by_rightholders.addEventListener('click', () => {\n this._upload_by('rightholders');\n });\n }\n\n if (this.dom.upload_by_users) {\n this.dom.upload_by_users.addEventListener('click', () => {\n this._upload_by('users');\n });\n }\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.data.page += 1;\n\n post('/api/red/rating/track/list', this.data, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(table_content, {tracks: response.data, status: this.rating_status}));\n\n if (response.data.track_list.length) {\n this.is_rendered = false;\n }\n\n this._init_checker();\n this._init_draggable();\n });\n }\n\n\n /**\n * Инициализация интерфейса idraggable\n * @private\n */\n _init_draggable() {\n this.widgets.draggable = new iDraggable(\n this.dom.content,\n document.querySelectorAll('.l-rating__table-row'),\n {orientation: 'vertical'}\n );\n\n this.widgets.draggable.attach('drop', (current_index, index, current_element, before) => {\n if (before) {\n this.dom.content.insertBefore(current_element, this.dom.content.children[index]);\n } else {\n this._insertAfter(current_element, this.dom.content.children[index]);\n }\n this._send_position();\n });\n }\n\n\n /**\n * Инициализация интерфейса ichecker\n * @private\n */\n _init_checker() {\n this.widgets.checker = new iCheck(\n document.querySelector('.l-rating__table-checkbox-all'),\n document.querySelectorAll('.l-rating__table-checkbox')\n\n );\n\n this.widgets.checker.attach('check', (widget, event) => {\n this.checked_tracks = widget.checked_items;\n this._select_row(event);\n });\n }\n\n\n /**\n * Создание модального окна\n * @param event\n * @private\n */\n _phonogram_modal(event) {\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(this.render(add_phonogram_template), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n\n this.widgets.b_phonogram_add = get_widget(modal.dom.box.querySelector('.b-phonogram-add'), 'bPhonogramAdd');\n this.widgets.b_phonogram_add.attach('add_track', this._add_phonogramm.bind(this));\n }\n\n\n /**\n * Удаление выбранных рейтингов\n * @private\n */\n _delete_rating(event, widget) {\n if (this.checked_tracks.length == 0) {\n return;\n }\n let id_list = this.checked_tracks.map(item => {\n return item.value;\n });\n widget.b_button_submit.block_button();\n post('/api/red/rating/track/del', {\n rating_id: this.params.rating_id,\n id: id_list.join(',')\n }, response=> {\n response = parse_json(response);\n\n if (response.success) {\n location.reload();\n } else {\n this._error_modal(event, response.errmess);\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n _error_modal(event, message) {\n\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(this.render(errormodal_template, {message: message}));\n modal.show();\n }\n\n\n /**\n * Эвент поиска по номеру договора\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.data['search'] = value;\n this.data = Object.assign(this.data, {page: this.DEFAULT_PAGE});\n\n if (!value) {\n delete this.data['search'];\n } else {\n this.search_apply = true;\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 300);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n delete this.data['search'];\n this._render_content();\n this.search_apply = false;\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененнным поиском\n * @private\n */\n _render_content() {\n post('/api/red/rating/track/list', this.data, response => {\n response = parse_json(response);\n this.dom.content.innerHTML = this.render(table_content, {tracks: response.data, status: this.rating_status});\n this._init_checker();\n this._init_draggable();\n this.is_rendered = false;\n });\n }\n\n\n /**\n * Изменение позиции трека в рейтенге\n * @private\n */\n _send_position() {\n if (this.search_apply) {\n return;\n }\n\n let rows = document.querySelectorAll('.l-rating__table-row');\n\n this.position_list = Array.prototype.slice.call(rows).map(item => {\n return item.getAttribute('data-id');\n });\n\n post('/api/red/rating/track/position', {\n data: JSON.stringify({position_list: this.position_list}),\n rating_id: this.params.rating_id\n }, response => {\n response = parse_json(response);\n if (response.success) {\n this.dom.content.innerHTML = this.render(table_content, {tracks: response.data, status: this.rating_status});\n this._init_draggable();\n this._init_checker();\n }\n });\n }\n\n\n /**\n * Массовое добавление фонограмм к рейтингу\n * @param widget\n * @private\n */\n _add_phonogramm(widget) {\n let data = {};\n data.rating_id = this.params.rating_id;\n data.track_id = widget.track_id;\n\n widget.b_button_submit.block_button();\n post('/api/red/rating/track/add', data, response => {\n response = parse_json(response);\n\n if (response.success) {\n location.reload();\n } else {\n this._error_modal(event, response.errmess)\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n /**\n * Перевести рейтинтг из статуса \"Ошибка распределения\" в статус \"В работе\"\n * @private\n */\n _to_work_status() {\n post('/api/red/rating/status', {id: this.params.rating_id}, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n }\n });\n }\n\n\n /**\n * Вставить ноду после указаной ноды\n * @param node\n * @param reference_node\n * @private\n */\n _insertAfter(node, reference_node) {\n reference_node.parentNode.insertBefore(node, reference_node.nextSibling);\n }\n\n\n /**\n * Выделени выбранных строк таблицы\n * @param event\n * @private\n */\n _select_row(event) {\n\n if (event.target.classList.contains('l-rating__table-checkbox-all')) {\n let all_checkboxes = document.querySelectorAll('.l-rating__table-checkbox');\n\n if (event.target.checked) {\n each(all_checkboxes, item => {\n let row = closest(item, '.l-rating__table-row');\n\n row.classList.add('selected-row');\n });\n this._show_elements();\n } else {\n each(all_checkboxes, item => {\n let row = closest(item, '.l-rating__table-row');\n\n row.classList.remove('selected-row');\n });\n this._hide_elements();\n }\n } else {\n let row = closest(event.target, '.l-rating__table-row');\n\n if (event.target.checked) {\n row.classList.add('selected-row');\n this._show_elements();\n } else {\n row.classList.remove('selected-row');\n if(!this.checked_tracks.length) {\n this._hide_elements();\n }\n }\n }\n }\n\n\n _hide_elements() {\n this.dom.footer_panel.classList.add('hidden');\n this.dom.table.classList.remove('l-rating__table_pad');\n }\n\n\n _show_elements() {\n this.dom.footer_panel.classList.remove('hidden');\n this.dom.table.classList.add('l-rating__table_pad');\n }\n\n _upload_by(target) {\n let { rating_id } = this.params;\n let data = {\n action: target == 'rightholders' ? 'report_2750_2' : 'report_2750_3',\n params: JSON.stringify({ rating_id })\n };\n\n post('/api/red/task/add', data, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n let { task } = response.data;\n let modal = new iModal(this.render(upload_template, task), {\n node_link: target == 'rightholders' ? this.dom.upload_by_rightholders : this.dom.upload_by_users,\n strict_hide: true\n });\n\n modal.dom.box.style.width = '700px';\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n modal.attach('hide', () => {\n modal.show();\n });\n modal.show();\n\n let modalContent = modal.dom.box.querySelector('.l-rating__modal-upload-body');\n let currentStatus = task.status;\n let status_checker = setInterval(() => {\n post('/api/red/task/get', {\n id: task.id\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n let { task } = response.data;\n\n if (currentStatus != task.status) {\n currentStatus = task.status;\n\n if (currentStatus == 3 || currentStatus == 4) {\n clearInterval(status_checker);\n }\n\n modalContent.innerHTML = this.render(upload_body_template, task);\n }\n }\n });\n }, 3000);\n }\n });\n }\n}\n\nRouter.add_page(Rating);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/rating.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"./l-rating__table-content.html\"] = require( \"./l-rating__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rating/l-rating.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-rating/l-rating.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-rating/l-rating.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nvar t_7;\nt_7 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"status\");\nframe.set(\"status\", t_7, true);\nif(frame.topLevel) {\ncontext.setVariable(\"status\", t_7);\n}\nif(frame.topLevel) {\ncontext.addExport(\"status\", t_7);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_9,t_8) {\nif(t_9) { cb(t_9); return; }\noutput += t_8;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n Рейтинги фонограмм\\n /\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"month\"),\"month\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"month\"),\"year\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"month\"),\"month\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"month\"),\"year\"), env.opts.autoescape);\noutput += \",\\n рейтинг фонограмм\\n
\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rating\")),\"rating\")),\"status_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-rating/l-rating.html\", false, function(t_11,t_10) {\nif(t_11) { cb(t_11); return; }\nt_10.getExported(function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\nif(t_10.hasOwnProperty(\"bSearch\")) {\nvar t_13 = t_10.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_13);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 21, colno = 24, runtime.callWrap(t_13, \"bSearch\", context, [{\"class\": \"l-rating__search\"},{\"placeholder\": \"Поиск по названию, исполнителю, изготовителю\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n \";\noutput += \"\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 5) {\noutput += \"\\n \\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-rating__table-content.html\", false, \"../templates/l-rating/l-rating.html\", null, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\nt_14.render(context.getVariables(), frame, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\noutput += t_15\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Место\\n
\\n
\\n
\\n Название\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Кол-во проигрываний\\n
\\n
\\n
\\n Сумма начисленная, руб\\n
\\n
\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rating/l-rating.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rating/l-rating.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rating/l-rating__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"track_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 2) {\noutput += \"\\n \\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"position\")?runtime.memberLookup((t_4),\"position\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performers\")?runtime.memberLookup((t_4),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"count_play\")?runtime.memberLookup((t_4),\"count_play\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rating/l-rating__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rating/l-rating__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-rating__modal-upload-body.html\"] = require( \"./l-rating__modal-upload-body.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rating/l-rating__modal-upload.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка расчёта\\n
\\n\\n
\\n \";\nenv.getTemplate(\"./l-rating__modal-upload-body.html\", false, \"../templates/l-rating/l-rating__modal-upload.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n
\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rating/l-rating__modal-upload.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rating/l-rating__modal-upload.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rating/l-rating__modal-upload-body.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n\";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"status_name\"), env.opts.autoescape);\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"status_name\")?runtime.contextOrFrameLookup(context, frame, \"status_name\"):\"Ожидает обработки\"), env.opts.autoescape);\noutput += \"...\\n
\\n\";\n;\n}\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rating/l-rating__modal-upload-body.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rating/l-rating__modal-upload-body.html","import {each, attach_event, index_element} from '../../helpers'\nimport Events from '../../events'\n\n\nexport default class iDraggable extends Events {\n constructor(parent, items, params={}) {\n super();\n\n this.dom = {\n parent: parent,\n items: items,\n };\n\n this.params = Object.assign({\n orientation: 'horizontal'\n }, params);\n \n this._bind();\n }\n\n\n _bind() {\n each(this.dom.items, this._bind_items.bind(this));\n\n this.dom.parent.addEventListener('dragenter', function (event) {\n event.preventDefault();\n return true;\n });\n }\n\n _bind_items(item) {\n let current_element = null;\n let current_index = 0;\n let index = 0;\n let positions = null;\n\n item.setAttribute('draggable', true);\n\n item.addEventListener('dragstart', function(event) {\n event.dataTransfer.effectAllowed='move';\n current_element = event.target;\n\n if (navigator.userAgent.toLowerCase().includes('firefox')) {\n event.dataTransfer.setData('node', current_element);\n }\n\n current_index = index = index_element(current_element);\n if (positions === null) {\n positions = [];\n each(current_element.parentNode.children, function (element) {\n positions.push(element.getBoundingClientRect());\n });\n }\n\n this.dispatch('dragstart', [\n current_index,\n index,\n current_element\n ]);\n\n return true;\n }.bind(this));\n\n document.addEventListener('drop', function (event) {\n event.dataTransfer.effectAllowed='move';\n\n if (current_element !== null) {\n\n let position = positions[index];\n let before = position.top + ((position.bottom - position.top)/2) > event.pageY;\n\n this.dispatch('drop', [\n current_index,\n index,\n current_element,\n before\n ]);\n\n current_element = null;\n }\n return false;\n }.bind(this));\n\n\n document.addEventListener('dragover', function (event) {\n event.preventDefault();\n\n if (current_element !== null) {\n\n if (this.params.orientation == 'horizontal') {\n index = this._trigger_columns(event.pageX, positions);\n } else {\n index = this._trigger_rows(event.pageY, positions);\n }\n\n this.dispatch('dragover', [\n current_index,\n index,\n current_element\n ]);\n }\n\n }.bind(this));\n }\n\n _trigger_rows(y, positions) {\n let index = 0;\n\n each(positions, (position, loop) => {\n if (y > position.top && y < position.bottom) {\n index = loop;\n }\n });\n\n return index;\n }\n\n\n _trigger_columns(x, positions) {\n let index = 0;\n\n each(positions, (position, column_position) => {\n if (x > position.left && x < position.right) {\n index = column_position;\n }\n });\n\n return index;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-draggable/i-draggable.js","import template from '../templates/l-distributions/l-distributions.html'\nimport item_template from '../templates/l-distributions/l-distributions__table-tbody-items.html'\nimport status_template from '../templates/l-distributions/l-distributions_status.html'\nimport modal_template from '../templates/l-distributions/l-distributions__add-new-modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event} from 'blocko/helpers'\nimport {append_alert, push_alert} from 'blocko/functions/alert'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nclass Distributions extends Controller {\n\n static get route() {\n return '/distributions/';\n }\n\n\n constructor(params, query) {\n super();\n this.add('query', query);\n super.add('distribution_type', {\n 1: \"По отчетом\",\n 2: \"По рейтингу\",\n });\n\n let order_by = '';\n\n if (query && query.order_by) {\n order_by = query.order_by ? query.order_by : 'month:desc,type:desc';\n }\n\n super.prepare_context({\n reward: {\n path: '/api/red/reward/list',\n data: {\n order_by: order_by\n }\n },\n });\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n tbody: document.querySelector('.l-distributions__table-tbody'),\n add_distribution: document.querySelector('.l-distributions__add'),\n table: document.querySelector('.l-distributions__table'),\n table_wrap: document.querySelector('.l-distributions__table-wrap'),\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n this.is_rendered = false;\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_button_submit = get_widget(this.dom.add_distribution, 'bButtonSubmit');\n\n this._bind();\n }\n\n\n _bind() {\n\n this.dom.tbody.addEventListener('click', event => {\n if (event.target.parentNode.classList.contains('l-distributions__table-tr')) {\n this._go_to_detail(event);\n }\n });\n\n this.dom.tbody.addEventListener('change', event => {\n if (event.target.classList.contains('l-distributions__change-status')) {\n this._change_status(event);\n }\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n attach_event(this.dom.add_distribution, 'click', this._show_modal.bind(this));\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reward/list?order_by=month:desc,type:desc', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.tbody.insertAdjacentHTML('beforeEnd', this.render(item_template, {reward: response.data}));\n\n if (response.data.reward_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _set_period() {\n let month_list = [];\n\n let year = new Date().getFullYear();\n let month = new Date().getMonth() - 1;\n\n let prev_year_month = 11;\n let prev_year = year - 1;\n\n while (month >= 0) {\n month_list.push(new Date(Date.UTC(year, month--, 1, 0, 0, 0)).getTime()/1000);\n }\n\n while (prev_year_month >= 0) {\n month_list.push(new Date(Date.UTC(prev_year, prev_year_month--, 1, 0, 0, 0)).getTime()/1000);\n }\n return month_list;\n }\n\n _get_selected_month() {\n if (this.get_param('reward').reward_list.length){\n let current_date = new Date(Date.UTC(new Date().getFullYear(), new Date().getMonth() , 1, 0, 0, 0)).getTime();\n let last_rating_month = new Date(this.get_param('reward').reward_list[0].month_unixtime*1000);\n let selected_month = undefined;\n\n if (last_rating_month === 11) {\n selected_month = new Date(Date.UTC(last_rating_month.getFullYear() + 1, 0, 1, 0, 0, 0)).getTime();\n } else {\n selected_month = new Date(Date.UTC(last_rating_month.getFullYear(), last_rating_month.getMonth() + 1, 1, 0, 0, 0)).getTime();\n }\n\n if (selected_month === current_date) {\n return null;\n }\n return selected_month/1000;\n }\n return null;\n }\n\n\n _show_error(message) {\n let container = document.createElement('DIV');\n\n let icon = document.createElement('I');\n icon.classList.add('i-icon', 'i-icon_alert-error');\n\n let box = document.createElement('DIV');\n box.classList.add('alert__item-box');\n\n box.appendChild(document.createTextNode(message));\n container.appendChild(icon);\n container.appendChild(box);\n\n append_alert('reward_error', container.innerHTML, 'error');\n push_alert('reward_error');\n }\n\n _show_modal(event) {\n let button = event.target;\n\n this.modal = get_widget(button, 'iModal');\n\n if (!this.modal) {\n this.modal = new iModal(this.render(modal_template, {\n month_list: this._set_period(),\n selected_month: this._get_selected_month()\n }), {\n node_link: event.target,\n strict_hide: true\n });\n\n this.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n this.modal.hide();\n });\n\n this.modal.dom.box.querySelector('.l-distributions__add-new-form').addEventListener('submit', event => {\n event.preventDefault();\n\n let data = new FormData(event.target);\n data.append('type', 1);\n data.append('status', 1);\n\n post('/api/red/reward/add', data, response => {\n response = parse_json(response);\n\n if(response.success == 1) {\n location.reload();\n } else {\n this._show_error(response.errmess);\n }\n });\n });\n }\n this.modal.show();\n }\n\n\n _go_to_detail(event) {\n this.url_for('RewardDistribution', {id: event.target.parentNode.getAttribute('data-id')});\n }\n\n\n _change_status(event) {\n let data = {};\n\n data['id'] = event.target.getAttribute('data-id');\n data['status'] = event.target.value;\n\n post('/api/red/reward/status', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n event.target.parentNode.innerHTML = this.render(\n status_template, {\n item: response.data.contract\n }\n );\n }\n });\n }\n\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data('/api/red/reward/list', this.query_params);\n }\n\n\n _post_data(url, data) {\n post(url, data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.tbody.innerHTML = this.render(\n item_template, {\n reward: response.data\n }\n );\n }\n\n}\n\nRouter.add_page(Distributions);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/distributions.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-distributions/l-distributions__table-tbody-items.html\"] = require( \"../l-distributions/l-distributions__table-tbody-items.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-distributions/l-distributions.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-distributions/l-distributions.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Распределения
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-distributions/l-distributions__table-tbody-items.html\", false, \"../templates/l-distributions/l-distributions.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n Период\\n
\\n
\\n
\\n Тип\\n
\\n
\\n
\\n Сумма к распределению\\n
\\n
\\n
\\n Сумма к выплате\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-distributions/l-distributions.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-distributions/l-distributions.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../l-distributions/l-distributions_status.html\"] = require( \"../l-distributions/l-distributions_status.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-distributions/l-distributions__table-tbody-items.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_amount\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_amount\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_pay\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_pay\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nenv.getTemplate(\"../l-distributions/l-distributions_status.html\", false, \"../templates/l-distributions/l-distributions__table-tbody-items.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n \\n\";\n})});\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-distributions/l-distributions__table-tbody-items.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-distributions/l-distributions__table-tbody-items.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-distributions/l-distributions_status.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status\") == 3 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status\") == 6 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status\") == 8) {\noutput += \"\\n \\n\";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"item\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-distributions/l-distributions_status.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-distributions/l-distributions_status.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-distributions/l-distributions__add-new-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Создать распределение\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-distributions/l-distributions__add-new-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-distributions/l-distributions__add-new-modal.html","import template from '../templates/l-reward-rating/l-reward-rating.html'\nimport items_template from '../templates/l-reward-rating/l-reward-rating__table-tbody-items.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\n\nclass RatingDistribution extends Controller {\n\n static get route() {\n return '/distributions//rating/';\n }\n\n constructor(params) {\n super();\n super.prepare_context({\n reward: {\n path: '/api/red/reward/get',\n data: {\n id: params.id,\n with: 'rating',\n type: 2\n },\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n });\n\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n tbody: document.querySelector('.l-reward-rating__table-tbody'),\n table: document.querySelector('.l-reward-rating__table'),\n table_wrap: document.querySelector('.l-reward-rating__table-wrap'),\n };\n\n let rating_id = this.get_param('reward').reward.rating.id;\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n rating_id: rating_id\n };\n\n this.is_rendered = false;\n this.b_search = get_widget(document.querySelector('.l-reward-rating__search-phonogram'), 'bSearch');\n\n this._bind();\n }\n\n\n _bind() {\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._reset_search(widget);\n });\n\n if(this.dom.table_wrap) {\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n this._post_data(this.query_params);\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/rating/track/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.tbody.insertAdjacentHTML('beforeEnd', this.render(items_template, response.data));\n\n if (response.data.track_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else {\n delete this.query_params['search'];\n this._post_data(this.query_params);\n }\n }\n\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _post_data(data) {\n post('/api/red/rating/track/list', data, response => {\n response = parse_json(response);\n\n this._render_content(response.data);\n });\n }\n\n\n _render_content(data) {\n this.dom.tbody.innerHTML = this.render(items_template, data);\n }\n}\n\nRouter.add_page(RatingDistribution);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reward_rating.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../b-distribution-data/b-distribution-data.html\"] = require( \"../b-distribution-data/b-distribution-data.html\" );\ndependencies[\"../l-reward-rating/l-reward-rating__table-tbody-items.html\"] = require( \"../l-reward-rating/l-reward-rating__table-tbody-items.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-rating/l-reward-rating.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reward-rating/l-reward-rating.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-reward-rating/l-reward-rating.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reward-rating/l-reward-rating.html\", false, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\nt_7.getExported(function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nif(t_7.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_10 = t_7.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_10);\noutput += \"\\n\\n\";\nvar t_11;\nt_11 = env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"year\");\nframe.set(\"period\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"period\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"period\", t_11);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_13,t_12) {\nif(t_13) { cb(t_13); return; }\noutput += t_12;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n \\n\\n
\\n Распределение по рейтингу\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../b-distribution-data/b-distribution-data.html\", false, \"../templates/l-reward-rating/l-reward-rating.html\", null, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\nt_14.render(context.getVariables(), frame, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\noutput += t_15\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue((lineno = 24, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-reward-rating__search-phonogram\"},{\"placeholder\": \"Поиск по названию, исполнителю, изготовителю\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-reward-rating/l-reward-rating__table-tbody-items.html\", false, \"../templates/l-reward-rating/l-reward-rating.html\", null, function(t_20,t_18) {\nif(t_20) { cb(t_20); return; }\nt_18.render(context.getVariables(), frame, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\noutput += t_19\noutput += \"\\n \\n
\\n
\\n Название\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Количество исполнений\\n
\\n
\\n
\\n Начисленная сумма, руб.\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-rating/l-reward-rating.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-rating/l-reward-rating.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../b-distribution-data/b-distribution-data__status.html\"] = require( \"../b-distribution-data/b-distribution-data__status.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-distribution-data/b-distribution-data.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 12) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 6 && runtime.contextOrFrameLookup(context, frame, \"show_control_button\") == 1) || (runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3 && runtime.contextOrFrameLookup(context, frame, \"show_control_button\") == 1)) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Статус распределения:\\n \";\nenv.getTemplate(\"../b-distribution-data/b-distribution-data__status.html\", false, \"../templates/b-distribution-data/b-distribution-data.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n Период:\\n \\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"period\")?runtime.contextOrFrameLookup(context, frame, \"period\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n Сумма к распределению, руб.:\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"summ_amount\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"summ_amount\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"type\") == 1) {\noutput += \"\\n \\n Управление отчетами\\n \\n \";\n;\n}\nelse {\noutput += \"\\n \\n Управление рейтингом\\n \\n \";\n;\n}\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"error_note\"), env.opts.autoescape);\noutput += \"\\n Тип:\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"Сумма к выплате, руб.:\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"summ_pay\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"summ_pay\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-distribution-data/b-distribution-data.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-distribution-data/b-distribution-data.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-distribution-data/b-distribution-data__status.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 6 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 8 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 9 || runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 10) {\noutput += \"\\n
\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 6) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 8) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 9) {\noutput += \"\\n \\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 10) {\noutput += \"\\n \\n \\n \";\n;\n}\n;\n}\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\";\n;\n}\nelse {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 13) {\noutput += \"\\n \\n В работу\\n \\n \";\n;\n}\noutput += \"\\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-distribution-data/b-distribution-data__status.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-distribution-data/b-distribution-data__status.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-rating/l-reward-rating__table-tbody-items.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"track_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performers\")?runtime.memberLookup((t_4),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"count_play\")?runtime.memberLookup((t_4),\"count_play\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-rating/l-reward-rating__table-tbody-items.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-rating/l-reward-rating__table-tbody-items.html","import template from '../templates/l-reward-distribution/l-reward-distribution.html'\nimport items_template from '../templates/l-reward-distribution/l-reward-distribution__tbody-items.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\nimport export_documents_template from '../templates/l-reward-distribution/l-reward-distribution__modal-export.html'\nimport batch_export_template from '../templates/l-reward-distribution/l-reward-distribution__modal-batch-export.html'\nimport upload_report_template from '../templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html'\nimport upload_report_body_template from '../templates/l-reward-distribution/l-reward-distribution__modal-upload-report-body.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iCheck from 'blocko/widgets/i-checker/i-checker'\nimport {post, parse_json, get_widget, each, closest, convert_price} from 'blocko/helpers'\nimport {get_context} from 'blocko/functions/context'\n\nconst TEMPLATES = {\n document: export_documents_template,\n batch: batch_export_template\n};\n\nclass RewardDistribution extends Controller {\n\n static get route() {\n return '/distributions//';\n }\n\n\n constructor(params, query) {\n super();\n this.add('query', query);\n super.add('show_control_button', 1);\n super.add('user_type', [\n {uid: 1, name: 'Юридическое лицо'},\n {uid: 2, name: 'Индивидуальный предприниматель'},\n {uid: 3, name: 'Физическое лицо'}\n ]);\n super.prepare_context({\n reward: {\n path: '/api/red/reward/get',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n rightholders: {\n path: '/api/red/reward/rightholder/list',\n data: Object.assign({reward_id: params.id}, query)\n },\n min_summ: '/api/red/thesaurus/constant/get?key=MIN_SUMM_PAYMENTS'\n });\n this.params = params;\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n upload_checked_button: document.querySelector('.l-reward-distribution__reward-upload'),\n tbody: document.querySelector('.l-reward-distribution__tbody'),\n table: document.querySelector('.l-reward-distribution__table'),\n table_wrap: document.querySelector('.l-reward-distribution__table-wrap'),\n checkbox_all: document.querySelector('.i-checker__check-all'),\n checkbox_item: document.querySelectorAll('.l-reward-distribution__table-checkbox'),\n footer_panel: document.querySelector('.l-reward-distribution__footer-panel'),\n button_batch_load: document.querySelectorAll('.l-reward-distribution__button-load-checked'),\n button_pay_out: document.querySelector('.l-reward-distribution__button-pay-out'),\n button_upload_report: document.querySelector('.l-reward-distribution__upload-report')\n };\n\n this.query_params = {\n reward_id: this.get_param('reward').reward.id,\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.is_rendered = false;\n this.checked_ratings = [];\n this.pay_out_status = this.get_param('reward').reward.status === 6 || this.get_param('reward').reward.status === 9;\n\n this.b_search = get_widget(document.querySelector('.l-reward-distribution__search-field'), 'bSearch');\n this.b_filter = get_widget(document.querySelector('.l-reward-distribution__filter'), 'bDropdownFilter');\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_distribution_data = get_widget(document.querySelector('.b-distribution-data'), 'bDistributionData');\n if (this.pay_out_status) {\n this.pay_out_confirm_modal = get_widget(this.dom.button_pay_out, 'bConfirmModal');\n }\n\n this.modal_export = undefined;\n this.checker = new iCheck(this.dom.checkbox_all, this.dom.checkbox_item);\n\n this.b_filter.form_submit(null, false);\n\n this._bind();\n }\n\n\n _bind() {\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._reset_search(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter(widget);\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.dom.tbody.addEventListener('submit', event => {\n if (event.target.classList.contains('b-inline-edit')) {\n this._edit_count(event);\n }\n });\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this._init_checker();\n\n this.dom.tbody.addEventListener('click', event => {\n if (event.target.classList.contains('l-reward-distribution__icon-load')) {\n this._export_documents_modal(event);\n }\n });\n\n each(this.dom.button_batch_load, item => {\n item.addEventListener('click', event => {\n this._batch_export_modal(event);\n });\n });\n\n if (this.pay_out_status) {\n this.dom.button_pay_out.addEventListener('click', () => {\n this.pay_out_confirm_modal.change_content('Вы действительно хотите провести выплаты по выбранным правообладателям?');\n });\n\n this.pay_out_confirm_modal.attach('confirm', this._pay_out.bind(this));\n }\n\n this.dom.tbody.addEventListener('keydown', event => {\n if (event.target.classList.contains('b-inline-edit__controls-input')) {\n this._count_keyup(event);\n }\n });\n\n this.dom.button_upload_report.addEventListener('click', () => {\n this._upload_report_modal();\n });\n }\n\n _init_checker() {\n this.checker = new iCheck(\n document.querySelector('.i-checker__check-all'),\n document.querySelectorAll('.l-reward-distribution__table-checkbox')\n );\n\n this.checker.attach('check', (widget, event) => {\n this.checked_ratings = widget.checked_items;\n this._select_row(event);\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reward/rightholder/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.tbody.insertAdjacentHTML('beforeEnd', this.render(items_template, {rightholders: response.data}));\n\n if (response.data.rightholder_list.length) {\n this.is_rendered = false;\n }\n\n this._init_checker();\n this._hide_elements();\n });\n }\n\n\n _edit_count(event) {\n event.preventDefault();\n\n let inline_edit = event.target.querySelector('.b-inline-edit__controls-input');\n let inline_preview = event.target.querySelector('.b-inline-edit__preview');\n let data = new FormData(event.target);\n\n post('/api/red/reward/rightholder/edit', data, response => {\n response = parse_json(response);\n\n if(response.success == 1) {\n inline_edit.value = response.data.rightholder.amount_transfer;\n inline_preview.innerHTML = convert_price(response.data.rightholder.amount_transfer);\n this.b_distribution_data.update_summ();\n\n } else {\n this._error_modal(event, response.errmess);\n }\n });\n }\n\n _count_keyup(event) {\n if(event.keyCode == 13) {\n let parent_tr = closest(event.target, '.l-distribution__table-tr');\n let next_element = parent_tr.nextElementSibling;\n\n event.target.parentNode.style.display = '';\n event.target.parentNode.previousElementSibling.style.display = '';\n\n if(next_element) {\n\n let next_input = next_element.querySelector('.b-inline-edit__controls-input');\n next_input.parentNode.style.display = 'inline-block';\n next_input.parentNode.previousElementSibling.style.display = 'none';\n\n setTimeout(function() {\n next_input.focus();\n }, 10);\n }\n }\n }\n\n /**\n * Создание модального окна для выгрузки документов клиента\n * @param event\n * @private\n */\n _export_documents_modal(event) {\n let id = event.target.getAttribute('data-id');\n this.modal_export = new iModal(this.render(export_documents_template, {}), {\n node_link: event.target\n });\n\n let form = this.modal_export.dom.box.querySelector('.l-reward-distribution__export-form');\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n this.modal_export.show();\n\n form.addEventListener('submit', event => {\n event.preventDefault();\n let form_widget = get_widget(form, 'iForm');\n let doc_list = [];\n\n each(form_widget.fields, item => {\n if (item.node.checked) {\n doc_list.push(item.widget.name);\n }\n });\n\n this._get_export_files('document', id, doc_list.join(','));\n });\n }\n\n\n /**\n * Создание модального окна для выгрузки служебных записок\n * @param event\n * @private\n */\n _batch_export_modal(event) {\n let id_list = this.checked_ratings.map(item => {\n return item.value;\n });\n\n this.modal_export = new iModal(this.render(batch_export_template, {}), {\n node_link: event.target\n });\n\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n this.modal_export.show();\n\n this._get_export_files('batch', id_list, event.target.getAttribute('data-type'));\n }\n\n \n /**\n * Перерисовка модального окна выгрузки в соответсвии со статусом \n * @param template_name\n * @param id\n * @param documents\n * @private\n */\n _get_export_files(template_name, id, documents) {\n post('/api/red/document/add', {\n template: documents,\n params: JSON.stringify({\n reward_id: this.params.id,\n id: id\n }),\n }, response => {\n response = parse_json(response);\n if (response.success) {\n\n this.modal_export.change_body(this.render(TEMPLATES[template_name], response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n let status_checker = setInterval(function () {\n post('/api/red/document/get', {id: response.data.document.id, with: 'file'}, response => {\n response = parse_json(response);\n if (response.data.document.status == 3 || response.data.document.status == 4) {\n clearInterval(status_checker);\n }\n\n this.modal_export.change_body(this.render(TEMPLATES[template_name], response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n });\n }.bind(this), 10000);\n }\n });\n }\n\n\n _pay_out(event, widget) {\n let id_list = this.checked_ratings.map(item => {\n return item.value;\n });\n\n post('/api/red/reward/rightholder/pay_out', {id: id_list}, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n }\n\n\n _error_modal(event, message) {\n\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(this.render(errormodal_template, {message: message}));\n modal.show();\n }\n\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n }\n\n\n _event_filter(widget) {\n this.query_params = Object.assign(this.query_params, widget.form.dict, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n };\n\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _post_data(data) {\n post('/api/red/reward/rightholder/list', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this._render(response.data);\n }\n });\n }\n\n\n _render(render_data) {\n this.dom.tbody.innerHTML = this.render(\n items_template, {\n rightholders: render_data\n }\n );\n\n this._init_checker();\n this._hide_elements();\n }\n\n /**\n * Выделени выбранных строк таблицы\n * @param event\n * @private\n */\n _select_row(event) {\n if (event.target.classList.contains('i-checker__check-all')) {\n let all_checkboxes = document.querySelectorAll('.l-reward-distribution__table-checkbox');\n\n if (event.target.checked) {\n each(all_checkboxes, item => {\n let row = closest(item, '.i-checker__row');\n\n row.classList.add('selected-row');\n });\n this._show_elements();\n } else {\n each(all_checkboxes, item => {\n let row = closest(item, '.i-checker__row');\n\n row.classList.remove('selected-row');\n });\n this._hide_elements();\n }\n } else {\n let row = closest(event.target, '.i-checker__row');\n\n if (event.target.checked) {\n row.classList.add('selected-row');\n this._show_elements();\n } else {\n row.classList.remove('selected-row');\n if(!this.checked_ratings.length) {\n this._hide_elements();\n }\n }\n }\n }\n\n _hide_elements() {\n this.dom.footer_panel.classList.add('hidden');\n this.dom.table.classList.remove('l-reward-distribution__table_pad');\n }\n\n\n _show_elements() {\n this.dom.footer_panel.classList.remove('hidden');\n this.dom.table.classList.add('l-reward-distribution__table_pad');\n }\n\n _upload_report_modal() {\n let { reward } = get_context('reward');\n\n let params = {\n month: reward.month,\n order_by: 'track_name:asc',\n status: '4,5,6'\n };\n\n if (reward.type != 1) {\n params['reward.type'] = 2;\n }\n\n if (reward.type == 2 || reward.is_additional) {\n params.reward_id = reward.id;\n }\n\n let data = {\n action: 'report_2750_1',\n params: JSON.stringify(params)\n };\n\n post('/api/red/task/add', data, response => {\n response = JSON.parse(response);\n\n if (response.success) {\n let { task } = response.data;\n let modal = new iModal(this.render(upload_report_template, task), {\n node_link: this.dom.button_upload_report,\n strict_hide: true\n });\n\n modal.dom.box.style.width = '700px';\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', event => {\n location.reload();\n });\n modal.attach('hide', () => {\n modal.show();\n });\n modal.show();\n\n let modalContent = modal.dom.box.querySelector('.l-reward-distribution__modal-upload-report-body');\n let currentStatus = task.status;\n let status_checker = setInterval(() => {\n post('/api/red/task/get', {\n id: task.id\n }, response => {\n response = parse_json(response);\n\n if (response.success) {\n let { task } = response.data;\n\n if (currentStatus != task.status) {\n currentStatus = task.status;\n\n if (currentStatus == 3 || currentStatus == 4) {\n clearInterval(status_checker);\n }\n\n modalContent.innerHTML = this.render(upload_report_body_template, task);\n }\n }\n });\n }, 3000);\n }\n });\n }\n}\n\nRouter.add_page(RewardDistribution);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reward_distribution.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../b-distribution-data/b-distribution-data.html\"] = require( \"../b-distribution-data/b-distribution-data.html\" );\ndependencies[\"../l-reward-distribution/l-reward-distribution__filter.html\"] = require( \"../l-reward-distribution/l-reward-distribution__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-reward-distribution/l-reward-distribution__tbody-items.html\"] = require( \"../l-reward-distribution/l-reward-distribution__tbody-items.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reward-distribution/l-reward-distribution.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", false, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\nt_7.getExported(function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nif(t_7.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_10 = t_7.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_10);\noutput += \"\\n\\n\";\nvar t_11;\nt_11 = env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"year\");\nframe.set(\"period\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"period\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"period\", t_11);\n}\noutput += \"\\n\\n\";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"type\") == 1) {\noutput += \"\\n \";\nvar t_12;\nt_12 = \"Распределение по отчетам за \" + runtime.contextOrFrameLookup(context, frame, \"period\");\nframe.set(\"name\", t_12, true);\nif(frame.topLevel) {\ncontext.setVariable(\"name\", t_12);\n}\nif(frame.topLevel) {\ncontext.addExport(\"name\", t_12);\n}\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \";\nvar t_13;\nt_13 = \"Распределение по рейтингу за \" + runtime.contextOrFrameLookup(context, frame, \"period\");\nframe.set(\"name\", t_13, true);\nif(frame.topLevel) {\ncontext.setVariable(\"name\", t_13);\n}\nif(frame.topLevel) {\ncontext.addExport(\"name\", t_13);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_15,t_14) {\nif(t_15) { cb(t_15); return; }\noutput += t_14;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n Распределения\\n /\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../b-distribution-data/b-distribution-data.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", null, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_16.render(context.getVariables(), frame, function(t_19,t_17) {\nif(t_19) { cb(t_19); return; }\noutput += t_17\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue((lineno = 27, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-reward-distribution__search-field\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по получателю, номеру договора\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 35, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_20 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_21 = \"\";env.getTemplate(\"../l-reward-distribution/l-reward-distribution__filter.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", null, function(t_24,t_22) {\nif(t_24) { cb(t_24); return; }\nt_22.render(context.getVariables(), frame, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_21 += t_23\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_21);\n});\nreturn macro_t_20;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", null, function(t_28,t_26) {\nif(t_28) { cb(t_28); return; }\nt_26.render(context.getVariables(), frame, function(t_29,t_27) {\nif(t_29) { cb(t_29); return; }\noutput += t_27\noutput += \"\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-reward-distribution/l-reward-distribution__tbody-items.html\", false, \"../templates/l-reward-distribution/l-reward-distribution.html\", null, function(t_32,t_30) {\nif(t_32) { cb(t_32); return; }\nt_30.render(context.getVariables(), frame, function(t_33,t_31) {\nif(t_33) { cb(t_33); return; }\noutput += t_31\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Тип получателя\\n
\\n
\\n
\\n Получатель\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Миним. сумма\\n
\\n
\\n
\\n Начислено\\n
\\n
\\n
\\n Перечислено\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Баланс\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Получатель
\\n \\n
\\n
\\n
Тип получателя
\\n \\n
\\n
\\n
Начислено не менее
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"../../templates/b-inline-edit/b-inline-edit.html\"] = require( \"../../templates/b-inline-edit/b-inline-edit.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__tbody-items.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"../../templates/b-inline-edit/b-inline-edit.html\", false, \"../templates/l-reward-distribution/l-reward-distribution__tbody-items.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bInlineEdit\")) {\nvar t_4 = t_1.bInlineEdit;\n} else {\ncb(new Error(\"cannot import 'bInlineEdit'\")); return;\n}\ncontext.setVariable(\"bInlineEdit\", t_4);\noutput += \"\\n\\n\";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"rightholders\")),\"rightholder_list\");\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"type_name\")?runtime.memberLookup((t_8),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"contragent_name\")?runtime.memberLookup((t_8),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"contract_num\")?runtime.memberLookup((t_8),\"contract_num\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"min_summ\")),\"constant\")),\"value\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"amount_charged\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_8),\"amount_charged\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((lineno = 15, colno = 24, runtime.callWrap(t_4, \"bInlineEdit\", context, [env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_8),\"amount_transfer\")),{\"name\": \"amount_transfer\",\"value\": (runtime.memberLookup((t_8),\"amount_transfer\")?runtime.memberLookup((t_8),\"amount_transfer\"):0)},[{\"name\": \"id\",\"value\": runtime.memberLookup((t_8),\"id\")}]])), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"process_status_name\")?runtime.memberLookup((t_8),\"process_status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"balance\")?runtime.memberLookup((t_8),\"balance\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__tbody-items.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__tbody-items.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__modal-export.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Документы клиентов\\n
\\n\\n
\\n
\\n \";\nif(runtime.contextOrFrameLookup(context, frame, \"document\")) {\noutput += \"\\n\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n \";\n;\n}\noutput += \"\\n\\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"file\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \";\nif(runtime.memberLookup((t_4),\"status\") == 1 || runtime.memberLookup((t_4),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 3) {\noutput += \"\\n Ссылка для скачивания\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\\n \";\n;\n}\nelse {\noutput += \"\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \";\n;\n}\noutput += \"\\n
\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__modal-export.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__modal-export.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__modal-batch-export.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 1 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 2) {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n \\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__modal-batch-export.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__modal-batch-export.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reward-distribution__modal-upload-report-body.html\"] = require( \"./l-reward-distribution__modal-upload-report-body.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка расчёта\\n
\\n\\n
\\n \";\nenv.getTemplate(\"./l-reward-distribution__modal-upload-report-body.html\", false, \"../templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n
\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__modal-upload-report.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-distribution/l-reward-distribution__modal-upload-report-body.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 3) {\noutput += \"\\n

Завершено

\\n Ссылка для скачивания\\n\";\n;\n}\nelse {\nif(runtime.contextOrFrameLookup(context, frame, \"status\") == 4) {\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"status_name\"), env.opts.autoescape);\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n
\\n
  \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"status_name\")?runtime.contextOrFrameLookup(context, frame, \"status_name\"):\"Ожидает обработки\"), env.opts.autoescape);\noutput += \"...\\n
\\n\";\n;\n}\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-distribution/l-reward-distribution__modal-upload-report-body.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-distribution/l-reward-distribution__modal-upload-report-body.html","import template from '../templates/l-reward-reports/l-reward-reports.html'\nimport items_template from '../templates/l-reward-reports/l-reward-reports__tbody-items.html'\nimport reports_add_modal from '../templates/b-reward-reports-add/b-reward-reports-add.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event, each} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport {get_context} from 'blocko/functions/context'\n\nconst FILTER_PERIOD_POSTFIX = ':<=';\n\nclass RewardReport extends Controller {\n static get route() {\n return '/distributions//reports/';\n }\n\n\n constructor(params) {\n super();\n super.prepare_context({\n reward: {\n path: '/api/red/reward/get',\n data: params,\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n reports: {\n path: '/api/red/reward/report/list',\n data: {reward_id: params.id, rows: this.TABLE_ROW_COUNT}\n },\n category: '/api/red/thesaurus/object/category/group/list',\n });\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n tbody: document.querySelector('.l-reward-reports__tbody'),\n table: document.querySelector('.l-reward-reports__table'),\n footer_panel: document.querySelector('.l-reward-reports__footer-panel'),\n check_all: document.querySelector('.l-reward-reports__check-all'),\n check_item: document.querySelectorAll('.l-reward-reports__check-item'),\n delete_button: document.querySelector('.l-reward-reports__delete-button'),\n add_report_button: document.querySelector('.l-reward-reports__add-report'),\n table_wrap: document.querySelector('.l-reward-reports__table-wrap')\n };\n\n this.query_params = {\n reward_id: this.get_param('reward').reward.id,\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n };\n this.is_rendered = false;\n this.checked_items_count = 0;\n\n this.month = this.get_param('reward').reward.month_unixtime;\n this.b_search = get_widget(document.querySelector('.l-reward-reports__search-field'), 'bSearch');\n this.b_filter = get_widget(document.querySelector('.l-reward-reports__filter'), 'bDropdownFilter');\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.confirm_modal = get_widget(this.dom.delete_button, 'bConfirmModal');\n\n this._bind();\n }\n\n\n _bind() {\n\n this.dom.add_report_button.addEventListener('click', this._create_modal.bind(this));\n\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._reset_search(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter(widget);\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n if (this.dom.check_all != null) {\n this.dom.check_all.addEventListener('click', event => {\n event.stopPropagation();\n\n if (event.target.checked) {\n each(this.dom.check_item, item => {\n item.checked = true;\n });\n this._show_elements();\n } else {\n each(this.dom.check_item, item => {\n item.checked = false;\n });\n this._hide_elements();\n }\n this.checked_items_count = document.querySelectorAll('.l-reward-reports__check-item:checked').length;\n });\n }\n\n this._init_check_items(this.dom.check_item);\n\n this.dom.delete_button.addEventListener('click', () => {\n if (this.checked_items_count) {\n this.confirm_modal.change_content(`Вы действительно хотите удалить строки?`);\n }\n });\n\n this.confirm_modal.attach('confirm', (event, widget) => {\n\n let data = {};\n let id = [];\n\n each(this.dom.check_item, item => {\n if (item.checked) {\n id.push(item.value);\n }\n });\n\n data['id'] = id.join(',');\n widget.b_button_submit.block_button();\n post('/api/red/reward/report/del', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n });\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n\n _init_check_items(check_items) {\n attach_event(check_items, 'click', event => {\n event.stopPropagation();\n\n let items_count = document.querySelectorAll('.l-reward-reports__check-item').length;\n this.checked_items_count = document.querySelectorAll('.l-reward-reports__check-item:checked').length;\n\n if (this.checked_items_count == 0) {\n this._hide_elements();\n this.dom.check_all.checked = false;\n } else {\n this._show_elements();\n this.dom.check_all.checked = this.checked_items_count == items_count;\n }\n\n });\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reward/report/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.tbody.insertAdjacentHTML('beforeEnd', this.render(items_template, {reports: response.data}));\n\n let oldCheckItems = this.dom.check_item;\n let newCheckItems = [];\n this.dom.check_item = document.querySelectorAll('.l-reward-reports__check-item');\n\n each(this.dom.check_item, (item, index) => {\n if (oldCheckItems[index] != item ) return;\n\n newCheckItems.push(item);\n\n if (this.dom.check_all.checked) {\n item.checked = true;\n ++this.checked_items_count;\n }\n });\n\n this._init_check_items(newCheckItems);\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _create_modal(event) {\n let modal = get_widget(event.target, 'iModal');\n\n post('/api/red/report/list',\n {month: this.month + FILTER_PERIOD_POSTFIX, status: 6, is_additional: get_context('reward').reward.is_additional},\n response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n\n if (!modal) {\n modal = new iModal(this.render(reports_add_modal, Object.assign(response.data, {month: this.month})), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n }\n });\n }\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else {\n this._render(this.get_param('reports'));\n }\n }\n\n\n _event_filter(widget) {\n this.query_params = Object.assign(this.query_params, widget.form.dict, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n };\n\n\n _reset_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n\n _post_data(data) {\n post('/api/red/reward/report/list', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this._render(response.data);\n\n let oldCheckItems = this.dom.check_item;\n\n this.dom.check_item = document.querySelectorAll('.l-reward-reports__check-item');\n\n if (this.dom.check_all.checked) {\n each(this.dom.check_item, item => item.checked = true);\n } else {\n let checkedIds = [];\n\n each(oldCheckItems, item => {\n if (item.checked) {\n checkedIds.push(item.value);\n }\n });\n\n each(this.dom.check_item, item => {\n let id = item.value;\n\n if (checkedIds.indexOf(id) != -1) {\n item.checked = true;\n }\n });\n }\n\n this._init_check_items(this.dom.check_item);\n\n let everyChecked = this.dom.check_item.length != 0;\n let someChecked = false;\n this.checked_items_count = 0;\n\n each(this.dom.check_item, item => {\n if (item.checked) {\n someChecked = true;\n ++this.checked_items_count;\n } else {\n everyChecked = false;\n }\n });\n\n if (everyChecked) {\n this.dom.check_all.checked = true;\n }\n\n if (someChecked) {\n this._show_elements();\n } else {\n this._hide_elements();\n }\n }\n });\n }\n\n\n _render(render_data) {\n this.dom.tbody.innerHTML = this.render(\n items_template, {\n reports: render_data\n }\n );\n }\n\n\n _hide_elements() {\n this.dom.footer_panel.classList.add('hidden');\n this.dom.table.classList.remove('l-reward-reports__table_pad');\n }\n\n\n _show_elements() {\n this.dom.footer_panel.classList.remove('hidden');\n this.dom.table.classList.add('l-reward-reports__table_pad');\n }\n}\n\nRouter.add_page(RewardReport);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reward_reports.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../b-distribution-data/b-distribution-data.html\"] = require( \"../b-distribution-data/b-distribution-data.html\" );\ndependencies[\"../l-reward-reports/l-reward-reports__filter.html\"] = require( \"../l-reward-reports/l-reward-reports__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-reward-reports/l-reward-reports__tbody-items.html\"] = require( \"../l-reward-reports/l-reward-reports__tbody-items.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-reports/l-reward-reports.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reward-reports/l-reward-reports.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", false, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\nt_7.getExported(function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nif(t_7.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_10 = t_7.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_10);\noutput += \"\\n\\n\";\nvar t_11;\nt_11 = env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"month_unixtime\"),\"year\");\nframe.set(\"period\", t_11, true);\nif(frame.topLevel) {\ncontext.setVariable(\"period\", t_11);\n}\nif(frame.topLevel) {\ncontext.addExport(\"period\", t_11);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_13,t_12) {\nif(t_13) { cb(t_13); return; }\noutput += t_12;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
\\n Распределения\\n /\\n Распределение по отчетам за \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"period\"), env.opts.autoescape);\noutput += \"\\n /\\n Отчеты распределения за \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"period\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n Отчеты распределения за \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"period\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../b-distribution-data/b-distribution-data.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", null, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\nt_14.render(context.getVariables(), frame, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\noutput += t_15\noutput += \"\\n
\\n \";\noutput += runtime.suppressValue((lineno = 26, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-reward-reports__search-field\"},{\"placeholder\": \"Поиск по пользователю\"}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 32, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_18 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_19 = \"\";env.getTemplate(\"../l-reward-reports/l-reward-reports__filter.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", null, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\nt_20.render(context.getVariables(), frame, function(t_23,t_21) {\nif(t_23) { cb(t_23); return; }\nt_19 += t_21\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_19);\n});\nreturn macro_t_18;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", null, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\nt_24.render(context.getVariables(), frame, function(t_27,t_25) {\nif(t_27) { cb(t_27); return; }\noutput += t_25\noutput += \"\\n
\\n
\\n
\\n \\n \\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-reward-reports/l-reward-reports__tbody-items.html\", false, \"../templates/l-reward-reports/l-reward-reports.html\", null, function(t_30,t_28) {\nif(t_30) { cb(t_30); return; }\nt_28.render(context.getVariables(), frame, function(t_31,t_29) {\nif(t_31) { cb(t_31); return; }\noutput += t_29\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Период\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Сумма\\n
\\n
\\n
\\n Кол-во сообщ. в эфире\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-reports/l-reward-reports.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-reports/l-reward-reports.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-reports/l-reward-reports__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Получатель
\\n \\n
\\n
\\n
Категория
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-reports/l-reward-reports__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-reports/l-reward-reports__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reward-reports/l-reward-reports__tbody-items.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reward\")),\"reward\")),\"status\") == 3) {\noutput += \"\\n \\n \\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"amount\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"amount\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"air_messages_count\")?runtime.memberLookup((t_4),\"air_messages_count\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status_name\")?runtime.memberLookup((t_4),\"status_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reward-reports/l-reward-reports__tbody-items.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reward-reports/l-reward-reports__tbody-items.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../b-reward-reports-add/b-reward-reports-add__table-item.html\"] = require( \"../b-reward-reports-add/b-reward-reports-add__table-item.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-reward-reports-add/b-reward-reports-add.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/b-reward-reports-add/b-reward-reports-add.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bSearch\")) {\nvar t_4 = t_1.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_4);\noutput += \"\\n
\\n
\\n Добавить отчет\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 7, colno = 20, runtime.callWrap(t_4, \"bSearch\", context, [{\"class\": \"b-reward-reports-add__search\"},{\"placeholder\": \"Поиск по пользователю, номеру договора\"}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../b-reward-reports-add/b-reward-reports-add__table-item.html\", false, \"../templates/b-reward-reports-add/b-reward-reports-add.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Период\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Категория\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Сумма по отчету\\n
\\n
\\n
\\n Источник\\n
\\n
\\n
\\n
\\n
\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-reward-reports-add/b-reward-reports-add.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-reward-reports-add/b-reward-reports-add.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-reward-reports-add/b-reward-reports-add__table-item.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"month_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"month\") + \" \" + env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"month_unixtime\"),\"year\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_category_group_name\")?runtime.memberLookup((t_4),\"contract_category_group_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_num\")?runtime.memberLookup((t_4),\"contract_num\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"amount\")?runtime.memberLookup((t_4),\"amount\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-reward-reports-add/b-reward-reports-add__table-item.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-reward-reports-add/b-reward-reports-add__table-item.html","import template from '../templates/l-reporting-distribution/l-reporting.html'\nimport common from '../templates/l-reporting-distribution/l-reporting__table-common.html'\nimport final_report from '../templates/l-reporting-distribution/l-reporting__table-final-report.html'\nimport top_list from '../templates/l-reporting-distribution/l-reporting__table-top-list.html'\nimport final_top_list from '../templates/l-reporting-distribution/l-reporting__table-final-top-list.html'\nimport make_top_list from '../templates/l-reporting-distribution/l-reporting__table-make-top-list.html'\nimport common_content from '../templates/l-reporting-distribution/l-reporting__table-common-content.html'\nimport final_report_content from '../templates/l-reporting-distribution/l-reporting__table-final-report-content.html'\nimport top_list_content from '../templates/l-reporting-distribution/l-reporting__table-top-list-content.html'\nimport final_top_list_content from '../templates/l-reporting-distribution/l-reporting__table-final-top-list-content.html'\nimport make_top_list_content from '../templates/l-reporting-distribution/l-reporting__table-make-top-list-content.html'\nimport rightholders_modal from '../templates/b-track-rightholders/b-track-rightholders.html'\nimport payers_modal from '../templates/b-track-payers/b-track-payers.html'\nimport export_note_template from '../templates/b-export-note-modal/b-export-note-modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event, convert_date} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\nconst URLS = [\n '/api/red/reporting/list?contragent_type=1&okup=0',\n '/api/red/reporting/list?contragent_type=3',\n '/api/red/reporting/list?contragent_type=2',\n '/api/red/reporting/list?okup=1',\n '/api/red/reporting/finalreport/list',\n '/api/red/reporting/toplist/list?with=rightholder',\n '/api/red/reporting/toplistend/list',\n '/api/red/reporting/toplistmake/list?with=payer',\n];\n\nconst TEMPLATES = [\n common,\n common,\n common,\n common,\n final_report,\n top_list,\n final_top_list,\n make_top_list,\n];\n\nconst CONTENT_TEMPLATES = [\n common_content,\n common_content,\n common_content,\n common_content,\n final_report_content,\n top_list_content,\n final_top_list_content,\n make_top_list_content,\n];\n\nconst EXPORT_PARAMS = [\n {contragent_type: 1, month: null, order_by: \"contragent_name\"},\n {contragent_type: 3, month: null, order_by: \"contragent_name\"},\n {contragent_type: 2, month: null, order_by: \"contragent_name\"},\n {month: null},\n {month: null},\n {month: null},\n {month: null},\n {month: null}\n];\n\n\nclass ReportingDistribution extends Controller {\n\n static get route() {\n return '/reporting_distribution/';\n }\n\n constructor() {\n super();\n super.add('current_date', new Date().getTime() / 1000);\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table: document.querySelector('.b-table'),\n table_tbody: document.querySelector('.b-table tbody'),\n table_wrap: document.querySelector('.l-reporting__table-wrap'),\n reporting_panel: document.querySelector('.l-reporting-panel'),\n calendar: document.querySelector('.b-dropdown-calendar'),\n calendar_button: document.querySelector('.l-reporting-panel__controls-select-month'),\n tab_button: document.querySelectorAll('.l-reporting-tabs__item'),\n export_button: document.querySelector('.l-reporting-panel__controls-export'),\n show_button: document.querySelector('.l-reporting-panel__controls-show')\n };\n\n this.reporting_tabs = new iTab({\n buttons: this.dom.tab_button,\n boxes: false,\n button_active_class: 'l-reporting-tabs__item_active',\n active: 0,\n is_toggle: false\n });\n\n this.period = null;\n this.calendar_widget = get_widget(this.dom.calendar, 'bCalendar');\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n this.is_rendered = false;\n\n this.reporting_url = URLS[0];\n this.reporting_template = TEMPLATES[0];\n this.reporting_content_template = CONTENT_TEMPLATES[0];\n this.export_param = EXPORT_PARAMS[0];\n this.active_tab = 0;\n\n this._bind();\n }\n\n\n _bind() {\n this.calendar_widget.attach('get_value', widget => {\n let date_to = new Date((widget .dates[widget.dates.length - 1])*1000);\n let period_to = (new Date(date_to.getFullYear(), date_to.getMonth()+1, 1).getTime())/1000;\n\n this.period = widget.dates[0] + ':>=,' + period_to + ':<';\n this.dom.calendar_button.value = this.period;\n this.dom.calendar_button.innerHTML = convert_date(widget.dates[0], 'month') + ' ' + convert_date(widget.dates[0], 'year') + ' - ' + convert_date(widget.dates[widget.dates.length - 1], 'month') + ' ' + convert_date(widget.dates[widget.dates.length - 1], 'year');\n EXPORT_PARAMS[this.active_tab].month = this.period;\n this._show_reporting();\n });\n\n this.reporting_tabs.attach('CHANGE', event => {\n this._get_reporting(event.active);\n });\n\n\n attach_event(this.dom.export_button, 'click', this._export_reporting.bind(this));\n attach_event(this.dom.show_button, 'click', this._show_reporting.bind(this));\n\n this.dom.table_wrap.addEventListener('scroll', this._window_scroll_event.bind(this));\n\n attach_event(this.dom.table_wrap, 'click', event => {\n if (event.target.classList.contains('l-reporting__rightholders-modal')) {\n this._rightholders_modal(event);\n } else if (event.target.classList.contains('l-reporting__payers-modal')) {\n this._payers_modal(event);\n }\n })\n }\n\n\n _rightholders_modal(event) {\n let modal = get_widget(event.target, 'iModal');\n let track_id = event.target.getAttribute('data-track-id');\n\n post('/api/red/reporting/rightholder/list', {track_id: track_id, month: this.period}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (!modal) {\n modal = new iModal(this.render(rightholders_modal, response.data), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n }\n });\n }\n\n\n _payers_modal(event) {\n let modal = get_widget(event.target, 'iModal');\n let track_id = event.target.getAttribute('data-track-id');\n\n post('/api/red/reporting/payer/list', {track_id: track_id}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (!modal) {\n modal = new iModal(this.render(payers_modal, response.data), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n }\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = this._get_table_height();\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n _get_table_height() {\n return Math.max(\n this.dom.table_wrap.scrollHeight,\n this.dom.table_wrap.offsetHeight,\n this.dom.table_wrap.clientHeight\n );\n }\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post(this.reporting_url, this.query_params, response => {\n response = parse_json(response);\n\n document.querySelector('.l-reporting__table-content').insertAdjacentHTML('beforeEnd', this.render(this.reporting_content_template, response.data));\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _get_reporting(active) {\n this.active_tab = active;\n this.dom.export_button.classList.add('hidden');\n\n EXPORT_PARAMS[this.active_tab].month = this.period;\n\n this.dom.table = document.querySelector('.b-table');\n this.dom.table_tbody = document.querySelector('.b-table tbody');\n this.reporting_url = URLS[this.active_tab];\n this.reporting_template = TEMPLATES[this.active_tab];\n this.reporting_content_template = CONTENT_TEMPLATES[this.active_tab];\n this.export_param = EXPORT_PARAMS[this.active_tab];\n this.query_params.rows = this.TABLE_ROW_COUNT;\n this.query_params.page = this.DEFAULT_PAGE;\n delete this.query_params.month;\n this.dom.table_wrap.scrollTop = 0;\n\n this._show_reporting();\n }\n\n\n _show_reporting() {\n if (this.period) {\n this.query_params = Object.assign(this.query_params, {month: this.period, page: this.DEFAULT_PAGE, rows: this.TABLE_ROW_COUNT});\n\n post(this.reporting_url, this.query_params, response => {\n this._render_content(response);\n });\n }\n }\n\n\n _render_content(response) {\n response = parse_json(response);\n\n if (response.success) {\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n this.dom.export_button.classList.remove('hidden');\n } else {\n this.dom.export_button.classList.add('hidden');\n }\n\n this.dom.table_wrap.innerHTML = this.render(this.reporting_template, response.data);\n }\n }\n\n\n _export_reporting() {\n this.modal_export = new iModal(this.render(export_note_template, {}), {\n node_link: event.target\n });\n\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n\n this.modal_export.show();\n\n post('/api/red/document/add?template=reporting', {params: JSON.stringify(this.export_param)}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n let status_checker = setInterval(function () {\n post('/api/red/document/get', {id: response.data.document.id, with: 'file'}, response => {\n response = parse_json(response);\n if (response.data.document.status == 3 || response.data.document.status == 4) {\n clearInterval(status_checker);\n }\n\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n });\n }.bind(this), 10000);\n }\n\n });\n }\n}\n\nRouter.add_page(ReportingDistribution);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_distribution.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-reporting-distribution/l-reporting__table-common.html\"] = require( \"../l-reporting-distribution/l-reporting__table-common.html\" );\ndependencies[\"../b-dropdown-calendar/b-dropdown-calendar.html\"] = require( \"../b-dropdown-calendar/b-dropdown-calendar.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-distribution/l-reporting.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Отчетность
\\n
\\n
\\n
\\n
\\n
\\n Вознаграждения
для юр. лиц\\n
\\n
\\n Вознаграждения
для физ. лиц\\n
\\n
\\n Вознаграждения
для ИП\\n
\\n
\\n Вознаграждения
для ОКУП\\n
\\n
\\n Итоговый
отчет\\n
\\n
\\n Топ-лист\\n
\\n
\\n Топ-лист
итоговый\\n
\\n
\\n Cформировавшие
топ-лист\\n
\\n
\\n
\\n
\\n
\\n Период расчета\\n \\n \\n
\\n
\\n Дата расчета: \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.contextOrFrameLookup(context, frame, \"current_date\"),\"nubmers\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"../l-reporting-distribution/l-reporting__table-common.html\", false, \"../templates/l-reporting-distribution/l-reporting.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n
\\n
\\n
\\n \\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reporting__table-common-content.html\"] = require( \"./l-reporting__table-common-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-common.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-reporting__table-common-content.html\", false, \"../templates/l-reporting-distribution/l-reporting__table-common.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
\\n Получатель\\n
\\n
\\n
\\n Договор №\\n
\\n
\\n
\\n Тип договора\\n
\\n
\\n
\\n Распределено\\n
\\n
\\n
\\n Начислено за период, руб.\\n
\\n
\\n
\\n Остаток с прошлых периодов, руб.\\n
\\n
\\n
\\n Итого к выплате, руб.\\n
\\n
\\n
\\n Общая сумма к выплате, руб.\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-common.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-common.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-common-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \";\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contragent_name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contract_type_name\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((t_4),\"is_distributed\") != 0) {\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_period\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_period\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_pay\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_pay\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_pay_all\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_pay_all\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += \"\\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-common-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-common-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reporting__table-final-report-content.html\"] = require( \"./l-reporting__table-final-report-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-final-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-reporting__table-final-report-content.html\", false, \"../templates/l-reporting-distribution/l-reporting__table-final-report.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
\\n Тип получателя\\n
\\n
\\n
\\n Сумма к выплате, по результатам распределения, руб\\n
\\n
\\n
\\n Сумма к выплате, по результатам распределения, %\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-final-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-final-report.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-final-report-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_persent\")?runtime.memberLookup((t_4),\"summ_persent\") + \" %\":\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-final-report-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-final-report-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reporting__table-top-list-content.html\"] = require( \"./l-reporting__table-top-list-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-top-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-reporting__table-top-list-content.html\", false, \"../templates/l-reporting-distribution/l-reporting__table-top-list.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
№
\\n
\\n
\\n Фонограмма\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Правообладатели\\n
\\n
\\n
\\n Сумма из отчетов, руб.\\n
\\n
\\n
\\n Сумма к распределению, руб.\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-top-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-top-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-top-list-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") > 1?((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1) * runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"rows\")):0);\nframe.set(\"number_multiply\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"number_multiply\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"number_multiply\", t_1);\n}\noutput += \"\\n\\n\";\nframe = frame.push();\nvar t_4 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_4) {var t_3 = t_4.length;\nfor(var t_2=0; t_2 < t_4.length; t_2++) {\nvar t_5 = t_4[t_2];\nframe.set(\"item\", t_5);\nframe.set(\"loop.index\", t_2 + 1);\nframe.set(\"loop.index0\", t_2);\nframe.set(\"loop.revindex\", t_3 - t_2);\nframe.set(\"loop.revindex0\", t_3 - t_2 - 1);\nframe.set(\"loop.first\", t_2 === 0);\nframe.set(\"loop.last\", t_2 === t_3 - 1);\nframe.set(\"loop.length\", t_3);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"index\") + runtime.contextOrFrameLookup(context, frame, \"number_multiply\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"name\")?runtime.memberLookup((t_5),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"performers\")?runtime.memberLookup((t_5),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"publisher\")?runtime.memberLookup((t_5),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \\n Правообладатели\\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"summ_report\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_5),\"summ_report\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_5),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-top-list-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-top-list-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reporting__table-final-top-list-content.html\"] = require( \"./l-reporting__table-final-top-list-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-final-top-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-reporting__table-final-top-list-content.html\", false, \"../templates/l-reporting-distribution/l-reporting__table-final-top-list.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
№
\\n
\\n
\\n Фонограмма\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Сумма в части исполнительских прав, руб.\\n
\\n
\\n
\\n Сумма в части изготовительских прав, руб.\\n
\\n
\\n
\\n Сумма общая, руб.\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-final-top-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-final-top-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-final-top-list-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") > 1?((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1) * runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"rows\")):0);\nframe.set(\"number_multiply\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"number_multiply\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"number_multiply\", t_1);\n}\noutput += \"\\n\\n\";\nframe = frame.push();\nvar t_4 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_4) {var t_3 = t_4.length;\nfor(var t_2=0; t_2 < t_4.length; t_2++) {\nvar t_5 = t_4[t_2];\nframe.set(\"item\", t_5);\nframe.set(\"loop.index\", t_2 + 1);\nframe.set(\"loop.index0\", t_2);\nframe.set(\"loop.revindex\", t_3 - t_2);\nframe.set(\"loop.revindex0\", t_3 - t_2 - 1);\nframe.set(\"loop.first\", t_2 === 0);\nframe.set(\"loop.last\", t_2 === t_3 - 1);\nframe.set(\"loop.length\", t_3);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"loop\")),\"index\") + runtime.contextOrFrameLookup(context, frame, \"number_multiply\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"name\")?runtime.memberLookup((t_5),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"performers\")?runtime.memberLookup((t_5),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"publisher\")?runtime.memberLookup((t_5),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"summ_performers\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_5),\"summ_performers\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"summ_publisher\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_5),\"summ_publisher\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_5),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_5),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-final-top-list-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-final-top-list-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"./l-reporting__table-make-top-list-content.html\"] = require( \"./l-reporting__table-make-top-list-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-make-top-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"./l-reporting__table-make-top-list-content.html\", false, \"../templates/l-reporting-distribution/l-reporting__table-make-top-list.html\", null, function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nt_1.render(context.getVariables(), frame, function(t_4,t_2) {\nif(t_4) { cb(t_4); return; }\noutput += t_2\noutput += \"\\n \\n
\\n
Фонограмма
\\n
\\n
Исполнитель
\\n
\\n
Изготовитель
\\n
\\n
Пользователь
\\n
\\n
\\n Сумма, поступившая по отчету, руб.\\n
\\n
\\n
\\n Сумма общая, руб.\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-make-top-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-make-top-list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-distribution/l-reporting__table-make-top-list-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"report_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"name\")?runtime.memberLookup((t_4),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performers\")?runtime.memberLookup((t_4),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher\")?runtime.memberLookup((t_4),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((t_4),\"payer\"))) {\noutput += \"\\n \\n Пользователи\\n \\n \";\n;\n}\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ_report\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ_report\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-distribution/l-reporting__table-make-top-list-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-distribution/l-reporting__table-make-top-list-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-track-rightholders/b-track-rightholders.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Список правообладателей\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"rightholder_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n
\\n
\\n Тип\\n
\\n
\\n
\\n Имя\\n
\\n
\\n
\\n Сумма\\n
\\n
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"type_name\")?runtime.memberLookup((t_4),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-track-rightholders/b-track-rightholders.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-track-rightholders/b-track-rightholders.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-track-payers/b-track-payers.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Список пользователей\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"payer_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n
\\n
\\n Имя\\n
\\n
\\n
\\n Сумма\\n
\\n
\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contragent_name\")?runtime.memberLookup((t_4),\"contragent_name\"):\"-\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"summ\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"summ\")):\"-\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-track-payers/b-track-payers.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-track-payers/b-track-payers.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-export-note-modal/b-export-note-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Выгрузка отчетов\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 1 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 2) {\noutput += \"\\n
\\n
\\n   \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status_name\"), env.opts.autoescape);\noutput += \"...\\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n
    \\n \";\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"document\")),\"file\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"status\") == 4) {\noutput += \"\\n
  • \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n
  • \\n \";\n;\n}\noutput += \"\\n
  • \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"description\"), env.opts.autoescape);\noutput += \"\\n
  • \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n\\n \\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-export-note-modal/b-export-note-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-export-note-modal/b-export-note-modal.html","import template from '../templates/l-reporting-users/l-reporting-users.html'\nimport list_template from '../templates/l-reporting-users/l-reporting-users__list.html'\nimport emptyList_template from '../templates/l-reporting-users/l-reporting-users__empty-list.html'\nimport export_note_template from '../templates/b-export-note-modal/b-export-note-modal.html'\n\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport {remove_url_param} from 'blocko/functions/url_params'\n\nclass ReportingUsers extends Controller {\n static get route() {\n return '/reporting_users/';\n }\n\n constructor(params, query) {\n super();\n this.add('query', query);\n super.prepare_context({\n reports: {\n path: '/api/red/reporting/rightholder_accrual/list',\n data: query\n },\n category_list: {\n path: '/api/red/thesaurus/object/category/list'\n },\n category_group_list: {\n path: '/api/red/thesaurus/object/category/group/list'\n }\n });\n\n if (query && (query.reward_date_from || query.reward_date_to)) {\n query.reward_date = query.reward_date_from ? query.reward_date_from : '' + ':' + query.reward_date_to ? query.reward_date_to : '';\n }\n\n this.add('query', query);\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table: document.querySelector('.l-reporting-users__table'),\n table_body: document.querySelector('.l-reporting-users__list'),\n table_wrap: document.querySelector('.l-reporting-users__table-wrap'),\n input_contragent: document.querySelector('.l-reporting-users__filter-form-contragent'),\n input_contragent_id: document.querySelector('.l-reporting-users__filter-form-contragent-id'),\n input_rightholder: document.querySelector('.l-reporting-users__filter-form-rightholder'),\n input_rightholder_id: document.querySelector('.l-reporting-users__filter-form-rightholder-id'),\n input_track: document.querySelector('.l-reporting-users__filter-form-track'),\n input_track_id: document.querySelector('.l-reporting-users__filter-form-track-id'),\n export_button: document.querySelector('.l-reporting-users__export-button'),\n filter_wrapper: document.querySelector('.i-dropdown_filter'),\n values_wrap: document.querySelector('.b-filter-values__wrap')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n this.is_rendered = false;\n\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_filter = get_widget(document.querySelector('.l-reporting-users__filter-form'), 'bDropdownFilter');\n this.b_input_contragent = get_widget(this.dom.input_contragent, 'bInput');\n this.b_input_rightholder = get_widget(this.dom.input_rightholder, 'bInput');\n this.b_input_track = get_widget(this.dom.input_track, 'bInput');\n\n this.dom.filter_wrapper.classList.add('l-reporting-users__filter_left');\n this.b_filter.form_submit(null, false);\n\n this.contragents_id_list = [];\n this.righolders_id_list = [];\n this.tracks_id_list = [];\n this.export_param = this.get_param('query');\n\n this._bind();\n }\n\n _bind() {\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n\n const isParamRemoved = name => {\n return !this.dom[`input_${name}`].value || location.search.indexOf(name) == -1;\n };\n\n if (isParamRemoved('contragent_id')) {\n this.dom.input_contragent.value = '';\n remove_url_param('user');\n }\n\n if (isParamRemoved('rightholder_id')) {\n this.dom.input_rightholder.value = '';\n remove_url_param('rightholder');\n }\n\n if (isParamRemoved('track_id')) {\n this.dom.input_track.value = '';\n remove_url_param('track');\n }\n\n if (this.dom.values_wrap.classList.contains('hidden')) {\n this.dom.export_button.classList.add('hidden');\n }\n });\n\n this.b_filter.attach('click', widget => {\n this.dom.export_button.classList.add('hidden');\n this.export_param = '';\n this._clear_table();\n });\n\n this.b_input_contragent.attach('suggest_click', (index, event) => {\n this.dom.input_contragent_id.value = this.contragents_id_list[index].id;\n this.dom.input_contragent_id.setAttribute('data-alt-value', this.contragents_id_list[index].name);\n });\n\n this.dom.input_contragent.addEventListener('input', event => {\n this.dom.input_contragent_id.value = '';\n this.dom.input_contragent_id.setAttribute('data-alt-value', '');\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/contragent/list', {name_inner_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contragents_id_list = [];\n this.b_input_contragent.create_suggest(\n response.data.contragent_list.map(item => {\n this.contragents_id_list.push({id: item.id, name: item.name_inner});\n return item['name_inner'];\n }), 'search-contragent-suggest'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n this.b_input_rightholder.attach('suggest_click', (index, event) => {\n this.dom.input_rightholder_id.value = this.righolders_id_list[index].id;\n this.dom.input_rightholder_id.setAttribute('data-alt-value', this.righolders_id_list[index].name);\n });\n\n this.dom.input_rightholder.addEventListener('input', event => {\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/proxy/rms/api/red/contragent/list', {name_inner_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.righolders_id_list = [];\n this.b_input_rightholder.create_suggest(\n response.data.contragent_list.map(item => {\n this.righolders_id_list.push({id: item.id, name: item.name_inner});\n return item.name_inner;\n }), 'search-rightholder-suggest'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n this.b_input_track.attach('suggest_click', (index, event) => {\n this.dom.input_track_id.value = this.tracks_id_list[index].id;\n this.dom.input_track_id.setAttribute('data-alt-value', this.tracks_id_list[index].name);\n });\n\n this.dom.input_track.addEventListener('input', event => {\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/proxy/rms/api/red/track/alias/list', {name_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.tracks_id_list = [];\n this.b_input_track.create_suggest(\n response.data.alias_list.map(item => {\n this.tracks_id_list.push({id: item['track_id'], name: item['name']});\n return item['name'] + ' (Исп: ' + item['performers'] + ', Изг: ' + item['publisher'] + ')';\n }), 'search-track-suggest'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n attach_event(this.dom.export_button, 'click', this._export_reporting.bind(this));\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reporting/rightholder_accrual/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_body.insertAdjacentHTML('beforeEnd', this.render(list_template, {reports: {list: response.data.list}}));\n\n if (response.data.list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_filter(widget) {\n this.dom.export_button.classList.remove('hidden');\n\n let data = widget.form.dict;\n data['reward_date'] = widget.form.dict.reward_date_from + ':' + widget.form.dict.reward_date_to;\n delete data.reward_date_from;\n delete data.reward_date_to;\n\n this.export_param = data;\n\n this.query_params = Object.assign(this.query_params, data, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _post_data(data) {\n post('/api/red/reporting/rightholder_accrual/list', data, this._render.bind(this));\n }\n\n _render(response) {\n response = parse_json(response);\n\n if (response.success) {\n this.dom.table_body.innerHTML = this.render(\n list_template, {reports: {list: response.data.list}}\n );\n } else {\n this._clear_table();\n }\n }\n\n _export_reporting() {\n this.modal_export = new iModal(this.render(export_note_template, {}), {\n node_link: event.target\n });\n\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n\n this.modal_export.show();\n\n post('/api/red/document/add?template=rightholder_accruals_report', {params: JSON.stringify(this.export_param)}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n let status_checker = setInterval(function () {\n post('/api/red/document/get', {id: response.data.document.id, with: 'file'}, response => {\n response = parse_json(response);\n if (response.data.document.status == 3 || response.data.document.status == 4) {\n clearInterval(status_checker);\n }\n\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n });\n }.bind(this), 10000);\n } else {\n let error_block = this.modal_export.dom.box.querySelector('.b-ajax-form__default-text-error');\n error_block.innerText = response.errmess;\n error_block.style.color = '#da1414';\n }\n });\n }\n\n _clear_table() {\n this.dom.table_body.innerHTML = this.render(emptyList_template);\n }\n}\n\nRouter.add_page(ReportingUsers);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_users.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-reporting-users/l-reporting-users__filter.html\"] = require( \"../l-reporting-users/l-reporting-users__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-reporting-users/l-reporting-users__list.html\"] = require( \"../l-reporting-users/l-reporting-users__list.html\" );\ndependencies[\"./l-reporting-users__empty-list.html\"] = require( \"./l-reporting-users__empty-list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-users/l-reporting-users.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-users/l-reporting-users.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reporting-users/l-reporting-users.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_6 = t_3.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_6);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\noutput += t_7;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Отчетность по пользователям
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"contragent__id\") || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"contragent_id\") || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"track_id\")) {\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((lineno = 15, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-reporting-users/l-reporting-users__filter.html\", false, \"../templates/l-reporting-users/l-reporting-users.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reporting-users/l-reporting-users.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"list\"))) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-reporting-users/l-reporting-users__list.html\", false, \"../templates/l-reporting-users/l-reporting-users.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n \";\n})});\n}\nelse {\noutput += \"\\n \";\nenv.getTemplate(\"./l-reporting-users__empty-list.html\", false, \"../templates/l-reporting-users/l-reporting-users.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \";\n})});\n}\noutput += \"\\n \\n
\\n
\\n Тип пользователя\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Правообладатель\\n
\\n
\\n
\\n Произведение\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Сумма общая\\n
\\n
\\n
\\n Сумма в части исполнителя\\n
\\n
\\n
\\n Сумма в части изготовителя\\n
\\n
\\n
\\n Количество воспроизведений\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-users/l-reporting-users.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-users/l-reporting-users.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-users/l-reporting-users__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n\\n
\\n
Пользователь
\\n \\n \\n
\\n\\n
\\n
Категория
\\n \\n
\\n\\n
\\n
Группа категорий
\\n \\n
\\n\\n
\\n
Тип пользователя
\\n \\n
\\n\\n
\\n
Правообладатель
\\n \\n \\n
\\n\\n
\\n
Период расчёта с
\\n \\n
\\n
\\n
Период расчёта по
\\n \\n
\\n\\n
\\n
Произведение
\\n \\n \\n
\\n\\n
\\n
Исполнитель
\\n \\n
\\n\\n
\\n
Изготовитель
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-users/l-reporting-users__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-users/l-reporting-users__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-users/l-reporting-users__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"type_name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"name_inner\"):\"по Статистике\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rightholder\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rightholder\")),\"name_inner\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"name\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"performers\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"publisher\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"total_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"total_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performer_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"performer_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"publisher_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.contextOrFrameLookup(context, frame, \"count_play\")?runtime.memberLookup((t_4),\"count_play\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-users/l-reporting-users__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-users/l-reporting-users__list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-users/l-reporting-users__empty-list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n \\n Укажите, пожалуйста, хотя бы одно из следующих условий фильтра: пользователь, правообладатель или произведение\\n \\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-users/l-reporting-users__empty-list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-users/l-reporting-users__empty-list.html","import template from '../templates/l-reporting-recipients/l-reporting-recipients.html'\nimport list_template from '../templates/l-reporting-recipients/l-reporting-recipients__list.html'\n\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event} from 'blocko/helpers'\n\nclass ReportingRecipients extends Controller {\n static get route() {\n return '/reporting_recipients/';\n }\n\n constructor(params, query) {\n super();\n\n if (query && (query.reward_date_from || query.reward_date_to)) {\n query.date = [query.reward_date_from, query.reward_date_to].join(':');\n }\n\n this.add('query', query);\n super.prepare_context({\n reports: {\n path: '/api/red/reporting/contracts/list',\n data: query\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table: document.querySelector('.l-reporting-recipients__table'),\n table_body: document.querySelector('.l-reporting-recipients__list'),\n table_wrap: document.querySelector('.l-reporting-recipients__table-wrap'),\n input_contragent: document.querySelector('.l-reporting-recipients__filter-form-contragent'),\n input_contragent_id: document.querySelector('.l-reporting-recipients__filter-form-contragent-id'),\n filter_wrapper: document.querySelector('.i-dropdown_filter')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n this.is_rendered = false;\n\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_filter = get_widget(document.querySelector('.l-reporting-recipients__filter-form'), 'bDropdownFilter');\n this.b_input = get_widget(this.dom.input_contragent, 'bInput');\n\n this.dom.filter_wrapper.classList.add('l-reporting-recipients__filter_left');\n this.b_filter.form_submit(null, false);\n\n this._bind();\n }\n\n _bind() {\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter(widget);\n });\n\n this.b_input.attach('suggest_click', (index, event) => {\n this.dom.input_contragent_id.value = this.contracts_id_list[index].id;\n this.dom.input_contragent_id.setAttribute('data-alt-value', this.contracts_id_list[index].name);\n this.dom.input_contragent.setAttribute('placeholder', this.contracts_id_list[index].name);\n });\n\n this.dom.input_contragent.addEventListener('input', event => {\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/proxy/rms/api/red/contragent/list', {name_inner_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.contracts_id_list = [];\n this.b_input.create_suggest(\n response.data.contragent_list.map(item => {\n this.contracts_id_list.push({id: item['id'], name: item['name_inner']});\n return item['name_inner'];\n }), 'add-contragent-suggest'\n );\n }\n });\n }.bind(this), 300);\n } else {\n this.dom.input_contragent_id.value = '';\n this.dom.input_contragent_id.removeAttribute('data-alt-value');\n }\n });\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reporting/contracts/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_body.insertAdjacentHTML('beforeEnd', this.render(list_template, {reports: {list: response.data.list}}));\n\n if (response.data.list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_filter(widget) {\n let data = widget.form.dict;\n data['date'] = widget.form.dict.reward_date_from + ':' + widget.form.dict.reward_date_to;\n delete data.reward_date_from;\n delete data.reward_date_to;\n\n this.query_params = Object.assign(this.query_params, data, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _post_data(data) {\n post('/api/red/reporting/contracts/list', data, this._render.bind(this));\n }\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.table_body.innerHTML = this.render(\n list_template, {reports: {list: response.data.list}}\n );\n }\n}\n\nRouter.add_page(ReportingRecipients);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_recipient.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-reporting-recipients/l-reporting-recipients__filter.html\"] = require( \"../l-reporting-recipients/l-reporting-recipients__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-reporting-recipients/l-reporting-recipients__list.html\"] = require( \"../l-reporting-recipients/l-reporting-recipients__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-recipients/l-reporting-recipients.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reporting-recipients/l-reporting-recipients.html\", false, function(t_2,t_1) {\nif(t_2) { cb(t_2); return; }\nt_1.getExported(function(t_3,t_1) {\nif(t_3) { cb(t_3); return; }\nif(t_1.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_4 = t_1.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_4);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-recipients/l-reporting-recipients.html\", false, function(t_6,_parentTemplate) {\nif(t_6) { cb(t_6); return; }\nparentTemplate = _parentTemplate\nfor(var t_5 in parentTemplate.blocks) {\ncontext.addBlock(t_5, parentTemplate.blocks[t_5]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\noutput += t_7;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Отчетность по получателям
\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n\\n
\\n \";\noutput += runtime.suppressValue((lineno = 14, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-reporting-recipients/l-reporting-recipients__filter.html\", false, \"../templates/l-reporting-recipients/l-reporting-recipients.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reporting-recipients/l-reporting-recipients.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-reporting-recipients/l-reporting-recipients__list.html\", false, \"../templates/l-reporting-recipients/l-reporting-recipients.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n \\n
\\n
\\n Тип правообладателя\\n
\\n
\\n
\\n Правообладатель\\n
\\n
\\n
ИНН\\n
\\n
\\n
СНИЛС\\n
\\n
\\n
УСН/ОСНО\\n
\\n
\\n
\\n Тип договора\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Дата договора\\n
\\n
\\n
\\n Пометка о расторжении\\n
\\n
\\n
\\n Платежные реквизиты\\n
\\n
\\n
\\n Контактная информация\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n \";\noutput += \"\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-recipients/l-reporting-recipients.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-recipients/l-reporting-recipients.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-recipients/l-reporting-recipients__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Тип получателя
\\n \\n
\\n\\n
\\n
Получатель
\\n \\n \\n
\\n\\n
\\n
Период расчёта с
\\n \\n
\\n
\\n
Период расчёта по
\\n \\n
\\n\\n
\\n
Признак расторжения
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-recipients/l-reporting-recipients__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-recipients/l-reporting-recipients__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-recipients/l-reporting-recipients__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"type_name\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"type_name\"):runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"type_name\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"name_inner\"):runtime.memberLookup((t_4),\"contragent_name_inner\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"inn\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"inn\"):runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"inn\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"snils\")?runtime.memberLookup((runtime.memberLookup((t_4),\"contragent_ext\")),\"snils\"):runtime.memberLookup((runtime.memberLookup((t_4),\"contragent\")),\"snils\")), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((t_4),\"tax\")),\"tax_dict\")),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_unixtime\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"status\") == 3?\"Да\":\"\"), env.opts.autoescape);\noutput += \"\\n \\n \";\nif(runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"is_actuality\") == 1 && runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"is_default\") == 1) {\noutput += \"\\n \";\noutput += runtime.suppressValue(\"Сч.\" + runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"account\") + \", \" + runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"bank_name\") + \"БИК \" + runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"bic\") + \"к/с\" + runtime.memberLookup((runtime.memberLookup((t_4),\"account\")),\"ks\"), env.opts.autoescape);\noutput += \"\\n \";\n;\n}\noutput += \"\\n \\n \\n \";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((t_4),\"contact\");\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"contact_item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_8),\"type_name\") + \": \" + runtime.memberLookup((t_8),\"value\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-recipients/l-reporting-recipients__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-recipients/l-reporting-recipients__list.html","import template from '../templates/l-reporting-rightholders/l-reporting-rightholders.html'\nimport list_template from '../templates/l-reporting-rightholders/l-reporting-rightholders__list.html'\nimport export_note_template from '../templates/b-export-note-modal/b-export-note-modal.html'\n\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event, convert_date} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport {remove_url_param} from 'blocko/functions/url_params'\n\nclass ReportingUsers extends Controller {\n static get route() {\n return '/reporting_rightholders/';\n }\n\n constructor(params, query) {\n super();\n\n if (query && (query.reward_date_from || query.reward_date_to)) {\n query.reward_date = [query.reward_date_from, query.reward_date_to].join(':');\n }\n\n super.prepare_context({\n reports: {\n path: '/api/red/reporting/rightholder_payout/list',\n data: query\n },\n contract_types: '/api/proxy/rms/api/red/thesaurus/contract/type/list'\n });\n\n this.add('query', query);\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table: document.querySelector('.l-reporting-rightholders__table'),\n table_body: document.querySelector('.l-reporting-rightholders__list'),\n table_wrap: document.querySelector('.l-reporting-rightholders__table-wrap'),\n input_rightholder: document.querySelector('.l-reporting-rightholders__filter-form-rightholder'),\n input_rightholder_id: document.querySelector('.l-reporting-rightholders__filter-form-rightholder-id'),\n input_track: document.querySelector('.l-reporting-rightholders__filter-form-track'),\n input_track_id: document.querySelector('.l-reporting-rightholders__filter-form-track-id'),\n filter_wrapper: document.querySelector('.i-dropdown_filter'),\n export_button: document.querySelector('.l-reporting-rightholders__export-button'),\n values_wrap: document.querySelector('.b-filter-values__wrap')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n this.is_rendered = false;\n\n this.b_sort_table = get_widget(document.querySelector('.b-table-sort'), 'bTableSort');\n this.b_filter = get_widget(document.querySelector('.l-reporting-rightholders__filter-form'), 'bDropdownFilter');\n this.b_input_rightholder = get_widget(this.dom.input_rightholder, 'bInput');\n this.b_input_track = get_widget(this.dom.input_track, 'bInput');\n\n this.dom.filter_wrapper.classList.add('l-reporting-rightholders__filter_left');\n this.b_filter.form_submit(null, false);\n\n this.righolders_id_list = [];\n this.tracks_id_list = [];\n this.export_param = this.get_param('query');\n\n this._bind();\n }\n\n _bind() {\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n\n this.b_sort_table.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n\n if (!this.dom.input_rightholder_id.value.length) {\n this.dom.input_rightholder.value = '';\n remove_url_param('rightholder');\n }\n\n if (!this.dom.input_track_id.value.length) {\n this.dom.input_track.value = '';\n remove_url_param('track');\n }\n\n if (this.dom.values_wrap.classList.contains('hidden')) {\n this.dom.export_button.classList.add('hidden');\n }\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter_clear();\n });\n\n this.b_input_rightholder.attach('suggest_click', (index, event) => {\n this.dom.input_rightholder_id.value = this.righolders_id_list[index].id;\n this.dom.input_rightholder_id.setAttribute('data-alt-value', this.righolders_id_list[index].name);\n this.dom.input_rightholder.setAttribute('placeholder', this.righolders_id_list[index].name);\n });\n\n this.dom.input_rightholder.addEventListener('input', event => {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/proxy/rms/api/red/contragent/list', {name_inner_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.righolders_id_list = [];\n this.b_input_rightholder.create_suggest(\n response.data.contragent_list.map(item => {\n this.righolders_id_list.push({id: item.id, name: item.name_inner});\n return item.name_inner;\n }), 'search-rightholder-suggest'\n );\n }\n });\n }.bind(this), 300);\n } else {\n this.dom.input_rightholder_id.value = '';\n this.dom.input_rightholder_id.removeAttribute('data-alt-value');\n }\n });\n\n this.b_input_track.attach('suggest_click', (index, event) => {\n this.dom.input_track_id.value = this.tracks_id_list[index].id;\n this.dom.input_track_id.setAttribute('data-alt-value', this.tracks_id_list[index].name);\n this.dom.input_track.setAttribute('placeholder', this.tracks_id_list[index].name);\n });\n\n this.dom.input_track.addEventListener('input', event => {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/proxy/rms/api/red/track/alias/list', {name_like: value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.tracks_id_list = [];\n this.b_input_track.create_suggest(\n response.data.alias_list.map(item => {\n this.tracks_id_list.push({id: item['track_id'], name: item['name']});\n return item['name'] + ' (Исп: ' + item['performers'] + ', Изг: ' + item['publisher'] + ')';\n }), 'search-track-suggest'\n );\n }\n });\n }.bind(this), 300);\n } else {\n this.dom.input_track_id.value = '';\n this.dom.input_track_id.removeAttribute('data-alt-value');\n }\n });\n\n attach_event(this.dom.export_button, 'click', this._export_reporting.bind(this));\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/reporting/rightholder_payout/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_body.insertAdjacentHTML('beforeEnd', this.render(list_template, {reports: {list: response.data.list}}));\n\n if (response.data.list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_filter(widget) {\n this.dom.export_button.classList.remove('hidden');\n\n let data = widget.form.dict;\n data['reward_date'] = widget.form.dict.reward_date_from + ':' + widget.form.dict.reward_date_to;\n delete data.reward_date_from;\n delete data.reward_date_to;\n\n this.export_param = data;\n\n this.query_params = Object.assign(this.query_params, data, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_filter_clear() {\n this.dom.table_body.innerHTML = '';\n this.dom.export_button.classList.add('hidden');\n this.export_param = '';\n }\n\n _post_data(data) {\n post('/api/red/reporting/rightholder_payout/list', data, this._render.bind(this));\n }\n\n _render(response) {\n response = parse_json(response);\n\n if (response.success) {\n this.dom.table_body.innerHTML = this.render(\n list_template, {reports: {list: response.data.list}}\n );\n }\n }\n\n _export_reporting() {\n this.modal_export = new iModal(this.render(export_note_template, {}), {\n node_link: event.target\n });\n\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n\n this.modal_export.show();\n\n post('/api/red/document/add?template=rightholder_payouts_report', {params: JSON.stringify(this.export_param)}, response => {\n response = parse_json(response);\n\n if (response.success) {\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n\n let status_checker = setInterval(function () {\n post('/api/red/document/get', {id: response.data.document.id, with: 'file'}, response => {\n response = parse_json(response);\n if (response.data.document.status == 3 || response.data.document.status == 4) {\n clearInterval(status_checker);\n }\n\n this.modal_export.change_body(this.render(export_note_template, response.data));\n this.modal_export.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n this.modal_export.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n });\n }.bind(this), 10000);\n }\n\n });\n }\n}\n\nRouter.add_page(ReportingUsers);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_righolders.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-reporting-rightholders/l-reporting-rightholders__filter.html\"] = require( \"../l-reporting-rightholders/l-reporting-rightholders__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-reporting-rightholders/l-reporting-rightholders__list.html\"] = require( \"../l-reporting-rightholders/l-reporting-rightholders__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-rightholders/l-reporting-rightholders.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-rightholders/l-reporting-rightholders.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reporting-rightholders/l-reporting-rightholders.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_6 = t_3.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_6);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\noutput += t_7;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Отчетность по правообладателям
\\n\\n
\\n \\n \";\noutput += runtime.suppressValue((lineno = 12, colno = 37, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-reporting-rightholders/l-reporting-rightholders__filter.html\", false, \"../templates/l-reporting-rightholders/l-reporting-rightholders.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reporting-rightholders/l-reporting-rightholders.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nif(env.getFilter(\"length\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"list\"))) {\noutput += \"\\n \";\nenv.getTemplate(\"../l-reporting-rightholders/l-reporting-rightholders__list.html\", false, \"../templates/l-reporting-rightholders/l-reporting-rightholders.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n \";\n})});\n}\nelse {\noutput += \"\\n \\n \\n \\n \";\n;\n}\noutput += \"\\n \\n
\\n
\\n Получатель\\n
\\n
\\n
\\n Начало действия прав\\n
\\n
\\n
\\n Окончание действия прав\\n
\\n
\\n
\\n Произведение\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n Сумма изготовителя (приход)\\n
\\n
\\n
\\n Сумма исполнителя (приход)\\n
\\n
\\n
\\n Сумма прихода\\n
\\n
\\n
\\n Сумма изготовителя (расход)\\n
\\n
\\n
\\n Сумма исполнителя (расход)\\n
\\n
\\n
\\n Сумма расхода\\n
\\n
\\n
\\n Сумма изготовителя (остаток)\\n
\\n
\\n
\\n Сумма исполнителя (остаток)\\n
\\n
\\n
\\n Сумма остатка\\n
\\n
\\n Укажите, пожалуйста, хотя бы одно из следующих условий фильтра: правообладатель или произведение\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-rightholders/l-reporting-rightholders.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-rightholders/l-reporting-rightholders.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-rightholders/l-reporting-rightholders__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n\\n
\\n
Правообладатель
\\n \\n \\n
\\n\\n
\\n
Период расчёта с
\\n \\n
\\n
\\n
Период расчёта по
\\n \\n
\\n\\n
\\n
Произведение
\\n \\n \\n
\\n\\n
\\n
Исполнитель
\\n \\n
\\n\\n
\\n
Изготовитель
\\n \\n
\\n\\n
\\n
Тип получателя
\\n \\n
\\n\\n
\\n
Тип договова
\\n \\n
\\n\\n
\\n
Начисленная сумма (итого)
\\n \\n
\\n\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-rightholders/l-reporting-rightholders__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-rightholders/l-reporting-rightholders__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-rightholders/l-reporting-rightholders__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rightholder\")),\"name_inner\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rightholder\")),\"name_inner\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"right\")),\"date_begin_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((t_4),\"right\")),\"date_begin_unixtime\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"right\")),\"date_end_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((t_4),\"right\")),\"date_end_unixtime\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"name\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"name\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"performers\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"performers\"):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"publisher\")?runtime.memberLookup((runtime.memberLookup((t_4),\"rmstrack\")),\"publisher\"):\"-\"), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"publisher_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performer_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"performer_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"total_debit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"total_debit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher_credit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"publisher_credit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performer_credit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"performer_credit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"total_credit\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"total_credit\")):\"-\"), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"publisher_balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"publisher_balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"performer_balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"performer_balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"balance\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"balance\")):\"-\"), env.opts.autoescape);\noutput += \"\\n\\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-rightholders/l-reporting-rightholders__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-rightholders/l-reporting-rightholders__list.html","import template from '../templates/l-reporting-retained-balance/l-reporting-retained-balance.html'\nimport list_template from '../templates/l-reporting-retained-balance/l-reporting-retained-balance__list.html'\n\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport { get, post, parse_json } from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport generate_report_template from '../templates/b-generate-report-modal/b-generate-report-modal.html'\n\nconst MAX_QUERY_COUNT = 600;\nlet current_query_count = 0;\n\nclass ReportingRetainedBalance extends Controller {\n static get route () {\n return '/reporting_retained_balance/'\n }\n\n get PATH () {\n return '/api/red/report/tracksumostat/list'\n }\n\n constructor (params, query) {\n super()\n if (!query) {\n query = {}\n }\n if (!query.rows) {\n query.rows = this.TABLE_ROW_COUNT\n }\n if (!query.page) {\n query.page = this.DEFAULT_PAGE\n }\n\n super.prepare_context({\n tracks: {\n path: this.PATH,\n data: query\n }\n })\n\n this.add('query', query)\n\n super.render_page(template)\n }\n\n init () {\n this.dom = {\n table: document.querySelector('.l-reporting-retained-balance__table'),\n table_body: document.querySelector('.l-reporting-retained-balance__list'),\n table_wrap: document.querySelector('.l-reporting-retained-balance__table-wrap'),\n generate_report_button: document.querySelector('.l-reporting-retained-balance__generate-report-button'),\n }\n this.modal = undefined;\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n orderby: 'desc'\n }\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'))\n this.is_rendered = false\n\n this._bind()\n this.dom.table_body.innerHTML = this.render(\n list_template, {tracks: {list: this.get_param('tracks').tracksumostat_list}}\n )\n }\n\n _bind () {\n this.dom.table_wrap.addEventListener('scroll', this._window_scroll_event.bind(this))\n this.dom.generate_report_button.addEventListener('click', this._generate_report.bind(this))\n }\n\n _window_scroll_event () {\n let bounding = this.dom.table_wrap.getBoundingClientRect()\n let scroll_top = this.dom.table_wrap.scrollTop\n let window_height = bounding.bottom - bounding.top\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n )\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page()\n }\n }\n\n _next_page () {\n if (this.is_rendered) {\n return\n }\n\n this.is_rendered = true\n this.query_params.page += 1\n\n get(this.PATH, this.query_params, response => {\n response = parse_json(response)\n\n this.dom.table_body.insertAdjacentHTML('beforeEnd', this.render(list_template, {reports: {list: response.data.tracksumostat_list}}))\n\n if (response.data.list.length) {\n this.is_rendered = false\n }\n })\n }\n\n _render (response) {\n response = parse_json(response)\n if (response.success) {\n this.dom.table_body.innerHTML = this.render(\n list_template, {tracks: {list: response.data.tracksumostat_list}}\n )\n }\n }\n\n\n _generate_report(event) {\n if(!this.modal) {\n this.modal = new iModal(generate_report_template, {\n node_link: event.target\n });\n }\n\n const setupModal = (modal, data = {}) => {\n modal.change_body(this.render(generate_report_template, data));\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n modal.hide();\n });\n }\n\n setupModal(this.modal);\n\n\n this.modal.show();\n\n get('/api/red/reportfiles/add', {rtype: 'tracksumostat'}, rawResponse => {\n let response = parse_json(rawResponse);\n if (response.success) {\n setupModal(this.modal, response.data);\n\n let status_checker = setInterval(() => {\n get('/api/red/reportfiles/get', {id: response.data.task.id}, rawStatusResponse => {\n let statusResponse = parse_json(rawStatusResponse);\n if (statusResponse.data.task.status === 4 || statusResponse.data.task.status === 5 || current_query_count === MAX_QUERY_COUNT) {\n clearInterval(status_checker);\n /* Если достигнут предел по ожиданию - закрываем модалку */\n if (current_query_count === MAX_QUERY_COUNT) {\n current_query_count = 0;\n this.modal.hide();\n return;\n }\n /* Если выполнилось успешно - при закрытии модалки - перезагружаем страницу */\n if (statusResponse.data.task.status === 4) {\n this.modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n }\n }\n current_query_count++;\n setupModal(this.modal, statusResponse.data);\n });\n }, 10000);\n\n this.modal.attach('hide', () => {\n clearInterval(status_checker);\n })\n }\n })\n }\n}\n\nRouter.add_page(ReportingRetainedBalance)\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_retained_balance.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"../l-reporting-retained-balance/l-reporting-retained-balance__list.html\"] = require( \"../l-reporting-retained-balance/l-reporting-retained-balance__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-retained-balance/l-reporting-retained-balance.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-retained-balance/l-reporting-retained-balance.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Нераспределенные остатки фонограмм
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-reporting-retained-balance/l-reporting-retained-balance__list.html\", false, \"../templates/l-reporting-retained-balance/l-reporting-retained-balance.html\", null, function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nt_5.render(context.getVariables(), frame, function(t_8,t_6) {\nif(t_8) { cb(t_8); return; }\noutput += t_6\noutput += \"\\n \\n
\\n
\\n Статус\\n
\\n
\\n
\\n Дата загрузки\\n
\\n
\\n
\\n Файл\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-retained-balance/l-reporting-retained-balance.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-retained-balance/l-reporting-retained-balance.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-retained-balance/l-reporting-retained-balance__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"ctime\")):\"-\"), env.opts.autoescape);\noutput += \"\\n Скачать \\n\\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-retained-balance/l-reporting-retained-balance__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-retained-balance/l-reporting-retained-balance__list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-generate-report-modal/b-generate-report-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Выгрузка отчетов\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 0 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 1 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 2 || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 3) {\noutput += \"\\n
\\n
\\n Начал создаваться...\\n
\\n\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 4) {\noutput += \"\\n

Завершено

\\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 5) {\noutput += \"\\n

Ошибка обработки

\\n
    \\n
  • \\n Нераспределенный гонорар\\n
  • \\n
\\n \";\n;\n}\n;\n}\n;\n}\noutput += \"\\n
\\n\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-generate-report-modal/b-generate-report-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-generate-report-modal/b-generate-report-modal.html","import iModal from 'blocko/widgets/i-modal/i-modal'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport { closest, post, parse_json, get_widget, each } from 'blocko/helpers' \n\nimport payment_files_template from '../templates/l-payment-files/l-payment-files.html'\nimport table_content_template from '../templates/l-payment-files/l-payment-files__table-content.html'\nimport update_file_modal_template from '../templates/l-payment-files/l-payment-files__update-file-modal.html'\nimport errormodal_template from '../templates/b-error-modal/b-error-modal.html'\n\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\n\nclass PaymentFiles extends Controller {\n\n static get route() {\n return '/payment_files/';\n }\n\n constructor(params, query) {\n super();\n super.add('query', query);\n super.add('active_menu', '#import');\n super.prepare_context({\n payments: {\n path: '/api/red/payment/file/list',\n data: query\n }\n });\n\n super.render_page(payment_files_template);\n }\n\n init() {\n this.dom = {\n table: document.querySelector('.l-payment-files__table'),\n table_content: document.querySelector('.l-payment-files__table-content'),\n table_wrap: document.querySelector('.l-payment-files__table-wrap'),\n file_buttons: document.querySelectorAll('.l-payment-files__load-buttons')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.is_rendered = false;\n\n this.widgets = {\n b_filter: get_widget(document.querySelector('.l-payment-files__filter'), 'bDropdownFilter')\n };\n\n this.widgets.b_filter.form_submit(null, false);\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter.bind(this));\n this.dom.table.addEventListener('click', event => {\n let parent_node = closest(event.target, '.l-payment-files__table-row');\n if (parent_node === null) {\n return;\n }\n\n let id = parent_node.getAttribute('data-id');\n\n if (event.target.classList.contains('l-payment-files__update-file-button')) {\n let filename = parent_node.getAttribute('data-filename');\n this._update_file_modal_window_handler(event, id, filename);\n } else {\n id ? this.url_for('PaymentFile', {file_id: id}) : '';\n }\n });\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n each(this.dom.file_buttons, item => {\n item.addEventListener('change', this._event_load_file.bind(this));\n });\n }\n\n\n /**\n * Обработка логики модального окна на повторную обработку файла.\n *\n * @param {string} id Идентификатор записи в БД по которому формируется\n * запрос на повторную обработку файла.\n * @param {string} filename Название обрабатываемого файла.\n * @returns {undefined}\n */\n _update_file_modal_window_handler(event, id, filename) {\n let update_button = event.target;\n\n if (update_button.classList.contains('b-loader__spinner')) {\n return;\n }\n\n let modal = get_widget(event.target, 'iModal');\n if (!modal) {\n modal = new iModal(this.render(update_file_modal_template, {filename}), {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n modal.hide();\n });\n\n modal.dom.box.querySelector('.b-modal__submit').addEventListener('click', (event) => {\n event.preventDefault();\n\n update_button.classList.remove('i-icon');\n update_button.classList.add('b-loader__spinner');\n modal.hide();\n\n // Возвращаю контроль пользователю чуть позже, чтобы избежать лишних кликов.\n let remove_spinner = () => {\n setTimeout(() => {\n update_button.classList.remove('b-loader__spinner');\n update_button.classList.add('i-icon');\n }, 1000);\n };\n\n let success = (response) => {\n let json = parse_json(response);\n let payments = {file_list: [json.data.file]};\n let template = this.render(table_content_template, {payments});\n this.dom.table_content.insertAdjacentHTML('afterbegin', template);\n remove_spinner();\n };\n\n let error = () => {\n let file = this._escape_html(filename);\n let text = `Не удалось отправить запрос на повторную обработку файла ${file}`;\n this._show_error_modal(event, text);\n remove_spinner();\n };\n\n post('/api/red/payment/file/reload_dbf', {id}, success, error);\n\n return false;\n });\n }\n\n modal.show();\n }\n\n \n _event_filter(widget) {\n let form_object = {};\n\n Object.assign(form_object, widget.form.dict);\n delete form_object.date_from;\n delete form_object.date_to;\n\n this.query_params = Object.assign(\n this.query_params,\n form_object,\n {cdate: this._prepare_date(widget.form.dict)},\n {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE}\n );\n this._render_content();\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/payment/file/list', this.query_params, response => {\n response = parse_json(response);\n this.is_rendered = response.data.file_list.length < this.TABLE_ROW_COUNT;\n\n this.dom.table_content.innerHTML = this.render(table_content_template, {payments: response.data});\n });\n }\n\n\n _show_error_modal(event, message) {\n let modal = get_widget(event.target, 'iModal');\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(this.render(errormodal_template, {message}));\n modal.show();\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table_content.scrollHeight,\n this.dom.table_content.offsetHeight,\n this.dom.table_content.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/payment/file/list', this.query_params, response => {\n response = parse_json(response);\n\n let template = this.render(table_content_template, {payments: response.data});\n this.dom.table_content.insertAdjacentHTML('beforeEnd', template);\n\n if (response.data.file_list.length == this.TABLE_ROW_COUNT) {\n this.is_rendered = false;\n }\n });\n }\n\n\n /**\n * Загрузка файла платежа\n * @param event\n * @private\n */\n _event_load_file(event) {\n post('/api/red/payment/file/add', {\n file: event.target.files[0],\n type: event.target.getAttribute('data-type')\n }, response => {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n\n\n /**\n * Подготовка дат для дальнейшей фильтрации\n * @param form_object\n * @returns {string}\n * @private\n */\n _prepare_date(form_object) {\n let period_list = [];\n\n if (form_object.date_from) {\n let parse_date = form_object.date_from.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.begin);\n }\n\n if (form_object.date_to) {\n let parse_date = form_object.date_to.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.end);\n }\n return period_list.join(',');\n }\n\n\n _escape_html(text) {\n let map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n };\n\n return text.replace(/[&<>\"']/g, function (m) { return map[m]; });\n }\n}\n\nRouter.add_page(PaymentFiles);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/payment_files.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-payment-files/l-payment-files__filter.html\"] = require( \"../l-payment-files/l-payment-files__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-payment-files/l-payment-files__table-content.html\"] = require( \"../l-payment-files/l-payment-files__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-files/l-payment-files.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-payment-files/l-payment-files.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Загрузка файлов
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-payment-files/l-payment-files.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n \";\noutput += runtime.suppressValue((lineno = 10, colno = 37, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-payment-files/l-payment-files__filter.html\", false, \"../templates/l-payment-files/l-payment-files.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n Загрузить\\n \\n \\n \\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-payment-files/l-payment-files.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-payment-files/l-payment-files__table-content.html\", false, \"../templates/l-payment-files/l-payment-files.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n \\n
\\n
\\n Дата загрузки\\n
\\n
\\n
\\n Имя файла\\n
\\n
\\n
\\n Тип данных\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Обработано\\n
\\n
\\n
\\n Добавлено\\n
\\n
\\n
\\n Обновлено\\n
\\n
\\n
\\n Ошибок\\n
\\n
\\n
\\n Время создания\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-files/l-payment-files.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-files/l-payment-files.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-files/l-payment-files__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = [{\"uid\": 1,\"name\": \"Контрагенты\"},{\"uid\": 2,\"name\": \"Договоры\"},{\"uid\": 3,\"name\": \"Платежи\"}];\nframe.set(\"data_types\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"data_types\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"data_types\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = [{\"uid\": 1,\"name\": \"Загружен\"},{\"uid\": 2,\"name\": \"Обработка файла\"},{\"uid\": 3,\"name\": \"Ошибка обработки файла\"},{\"uid\": 4,\"name\": \"Файл обработан\"},{\"uid\": 5,\"name\": \"Обработка строк\"},{\"uid\": 6,\"name\": \"Обработан с ошибками\"},{\"uid\": 7,\"name\": \"Обработан\"}];\nframe.set(\"status_list\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"status_list\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"status_list\", t_2);\n}\noutput += \"\\n
\\n
\\n
\\n
Тип данных
\\n \\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Дата с
\\n \\n
\\n
\\n
Дата по
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-files/l-payment-files__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-files/l-payment-files__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-files/l-payment-files__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payments\")),\"file_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"cdate_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"cdate_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"filename\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"processed\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"added\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"updated\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"errors\"), env.opts.autoescape);\nif(runtime.memberLookup((t_4),\"errors\") > 0) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"cdate_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"cdate_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"ctime_unixtime\")?env.getFilter(\"convert_time\").call(context, runtime.memberLookup((t_4),\"ctime_unixtime\")):\"\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-files/l-payment-files__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-files/l-payment-files__table-content.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-files/l-payment-files__update-file-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Вы действительно хотите повторно обработать файл \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"filename\"), env.opts.autoescape);\noutput += \"?\\n
\\n\\nПосле нажатия Ок файл \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"filename\"), env.opts.autoescape);\noutput += \" будет повторно обработан.\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-files/l-payment-files__update-file-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-files/l-payment-files__update-file-modal.html","import template from '../templates/l-payment-file/l-payment-file.html'\nimport table_content from '../templates/l-payment-file/l-payment-file__table-content.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\n\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\n\nclass PaymentFile extends Controller {\n\n static get route() {\n return '/payment_files//';\n }\n\n constructor(params) {\n super();\n super.prepare_context({\n payment: {\n path: '/api/red/payment/file/get',\n data: {\n id: params.file_id\n },\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n },\n protocol_list: {\n path: '/api/red/payment/file/protocol/list',\n data: {\n file_id: params.file_id\n }\n }\n });\n\n this.params = params;\n super.add('active_menu', '#import');\n super.render_page(template);\n }\n\n\n init() {\n this.dom = {\n table: document.querySelector('.l-payment-file__table'),\n table_content: document.querySelector('.l-payment-file__table-content'),\n table_wrap: document.querySelector('.l-payment-file__table-wrap')\n };\n\n this.query_params = {\n file_id: this.params.file_id,\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n this.is_rendered = false;\n\n this.widgets = {\n b_filter: get_widget(document.querySelector('.l-payment-file__filter'), 'bDropdownFilter'),\n b_search: get_widget(document.querySelector('.l-payment-file__search'), 'bSearch')\n };\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter.bind(this));\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n this.dom.table.addEventListener('click', event => {\n if (event.target.parentNode.classList.contains('l-payment-file__table-row')) {\n this.url_for('PaymentProtocol', {\n id: event.target.parentNode.getAttribute('data-id'),\n file_id: this.params.file_id\n });\n }\n });\n }\n\n\n /**\n * Поиск\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query_params, {'search': value}, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n if (!value) {\n delete this.query_params['search'];\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n Object.assign(this.query_params, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n delete this.query_params['search'];\n this._render_content();\n }\n\n\n /**\n * Фильтры\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let form_object = {};\n\n Object.assign(form_object, widget.form.dict);\n delete form_object.date_from;\n delete form_object.date_to;\n\n this.query_params = Object.assign(\n this.query_params,\n form_object,\n {payment_date: this._prepare_date(widget.form.dict)},\n {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE}\n );\n this._render_content();\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/payment/file/protocol/list', this.query_params, response => {\n response = parse_json(response);\n this.is_rendered = response.data.file_list.length < this.TABLE_ROW_COUNT;\n\n this.dom.table_content.innerHTML = this.render(table_content, {protocol_list: response.data});\n });\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table_content.scrollHeight,\n this.dom.table_content.offsetHeight,\n this.dom.table_content.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/payment/file/protocol/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_content.insertAdjacentHTML('beforeEnd', this.render(table_content, {protocol_list: response.data}));\n\n if (response.data.file_list.length == this.TABLE_ROW_COUNT) {\n this.is_rendered = false;\n }\n });\n }\n\n\n /**\n * Подготовка дат для дальнейшей фильтрации\n * @param form_object\n * @returns {string}\n * @private\n */\n _prepare_date(form_object) {\n let period_list = [];\n\n if (form_object.date_from) {\n let parse_date = form_object.date_from.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.begin);\n }\n\n if (form_object.date_to) {\n let parse_date = form_object.date_to.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.end);\n }\n return period_list.join(',');\n }\n}\n\nRouter.add_page(PaymentFile);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/payment_file.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-payment-file/l-payment-file__filter.html\"] = require( \"../l-payment-file/l-payment-file__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-payment-file/l-payment-file__table-content.html\"] = require( \"../l-payment-file/l-payment-file__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-file/l-payment-file.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-payment-file/l-payment-file.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Протокол загрузки платежей
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Имя файла: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"filename\"), env.opts.autoescape);\noutput += \"Дата загрузки: \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"cdate_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"cdate_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"Обработано: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"processed\"), env.opts.autoescape);\noutput += \"Обновлено: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"updated\"), env.opts.autoescape);\noutput += \"Статус: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"status_name\"), env.opts.autoescape);\noutput += \"
Тип данных: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"type_name\"), env.opts.autoescape);\noutput += \"Дата обработки: \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"ctime_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \" \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"ctime_unixtime\")?env.getFilter(\"convert_time\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"ctime_unixtime\")):\"\"), env.opts.autoescape);\noutput += \"Добавлено: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"added\"), env.opts.autoescape);\noutput += \"Ошибок: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"errors\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-payment-file/l-payment-file.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-payment-file/l-payment-file.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 34, colno = 24, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-payment-file__search\"},{\"placeholder\": \"Поиск по контрагенту, договору, номеру платежа\"}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 40, colno = 37, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-payment-file/l-payment-file__filter.html\", false, \"../templates/l-payment-file/l-payment-file.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-payment-file/l-payment-file.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-payment-file/l-payment-file__table-content.html\", false, \"../templates/l-payment-file/l-payment-file.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n Плательщик\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Номер платежа\\n
\\n
\\n
\\n Сумма платежа\\n
\\n
\\n
\\n Назначение платежа\\n
\\n
\\n
\\n Дата банка\\n
\\n
\\n
\\n Дата поступления\\n
\\n
\\n
\\n Группа категорий\\n
\\n
\\n
\\n Категория\\n
\\n
\\n
\\n Период начисления\\n
\\n
\\n
\\n Сумма начисления\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Текст ошибки\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-file/l-payment-file.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-file/l-payment-file.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-file/l-payment-file__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Плательщик
\\n \\n
\\n
\\n
Договор
\\n \\n
\\n
\\n
Статус
\\n \\n
\\n
\\n
Дата с
\\n \\n
\\n
\\n
Дата по
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-file/l-payment-file__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-file/l-payment-file__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-file/l-payment-file__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"protocol_list\")),\"file_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payer\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payment_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"payment_sum\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payment_purpose\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"payment_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"payment_receipt_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"category_group_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"category_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"pay_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"pay_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"pay_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"pay_sum\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"error\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-file/l-payment-file__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-file/l-payment-file__table-content.html","import template from '../templates/l-payments/l-payments.html'\nimport table_content from '../templates/l-payments/l-payments__table-content.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport export_note_template from '../templates/b-export-note-modal/b-export-note-modal.html'\n\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\n\nclass Payments extends Controller {\n\n static get route() {\n return '/payments/';\n }\n\n constructor() {\n super();\n super.add('active_menu', '#import');\n super.prepare_context({\n payments: {\n path: '/api/red/payment/list'\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table_content: document.querySelector('.l-payments__table-content'),\n table_wrap: document.querySelector('.l-payments__table-wrap'),\n exportButton: document.querySelector('.js-export-to-excel')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.is_rendered = false;\n\n this.widgets = {\n b_filter: get_widget(document.querySelector('.l-payments__filter'), 'bDropdownFilter'),\n b_search: get_widget(document.querySelector('.l-payments__search'), 'bSearch')\n };\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter.bind(this));\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n this.dom.exportButton.addEventListener('click', this._export_to_excel.bind(this))\n }\n\n\n /**\n * Поиск\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query_params, {'search': value}, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n if (!value) {\n delete this.query_params['search'];\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n Object.assign(this.query_params, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n delete this.query_params['search'];\n this._render_content();\n }\n\n\n /**\n * Фильтры\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let form_object = {};\n\n Object.assign(form_object, widget.form.dict);\n delete form_object.date_from;\n delete form_object.date_to;\n\n this.query_params = Object.assign(\n this.query_params,\n form_object,\n {payment_date: this._prepare_date(widget.form.dict)},\n {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE}\n );\n this._render_content();\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/payment/list', this.query_params, response => {\n response = parse_json(response);\n this.is_rendered = response.data.payment_list.length < this.TABLE_ROW_COUNT;\n\n this.dom.table_content.innerHTML = this.render(table_content, {payments: response.data});\n });\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table_content.scrollHeight,\n this.dom.table_content.offsetHeight,\n this.dom.table_content.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/payment/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_content.insertAdjacentHTML('beforeEnd', this.render(table_content, {protocol_list: response.data}));\n\n if (response.data.payment_list.length == this.TABLE_ROW_COUNT) {\n this.is_rendered = false;\n }\n });\n }\n\n\n /**\n * Подготовка дат для дальнейшей фильтрации\n * @param form_object\n * @returns {string}\n * @private\n */\n _prepare_date(form_object) {\n let period_list = [];\n\n if (form_object.date_from) {\n let parse_date = form_object.date_from.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.begin);\n }\n\n if (form_object.date_to) {\n let parse_date = form_object.date_to.split('.').reverse();\n period_list.push((new Date(parse_date.join('-')).getTime() / 1000) + DATE_FILTER_POSTFIX.end);\n }\n return period_list.join(',');\n }\n \n _export_to_excel() {\n this.modal_export = new iModal('', {\n node_link: event.target\n });\n\n const setupModal = (modal, data = {}) => {\n modal.change_body(this.render(export_note_template, data));\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n }\n\n setupModal(this.modal_export);\n\n this.modal_export.attach('hide', () => {\n this.modal_export.show();\n });\n\n this.modal_export.show();\n\n post('/api/red/document/add?template=report_payment_list', {params: this._export_params()}, rawResponse => {\n let response = parse_json(rawResponse);\n if (response.success) {\n setupModal(this.modal_export, response.data);\n\n let status_checker = setInterval(() => {\n post('/api/red/document/get', {id: response.data.document.id, with: 'file'}, rawStatusResponse => {\n let statusResponse = parse_json(rawStatusResponse);\n if (statusResponse.data.document.status === 3 || statusResponse.data.document.status === 4) {\n clearInterval(status_checker);\n }\n\n setupModal(this.modal_export, statusResponse.data);\n });\n }, 10000);\n }\n })\n }\n\n _export_params() {\n let filters = this.widgets.b_filter.form.dict;\n let search = this.widgets.b_search.dom.input.value;\n\n let params = Object.keys(filters)\n .filter(key => key !== 'date_from' && key !== 'date_to')\n .reduce((data, key) => {\n data[key] = filters[key]\n return data;\n }, {})\n\n if (search) {\n params.search = search;\n }\n\n params.payment_date = this._prepare_date(filters)\n return JSON.stringify(params);\n }\n}\n\nRouter.add_page(Payments);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/payments.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-payments/l-payments__filter.html\"] = require( \"../l-payments/l-payments__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-payments/l-payments__table-content.html\"] = require( \"../l-payments/l-payments__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payments/l-payments.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-payments/l-payments.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Платежи
\\n
\\n\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-payments/l-payments.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-payments/l-payments.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 13, colno = 24, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-payments__search\"},{\"placeholder\": \"Поиск по контрагенту, договору, номеру платежа\"}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 19, colno = 37, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-payments/l-payments__filter.html\", false, \"../templates/l-payments/l-payments.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-payments/l-payments.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-payments/l-payments__table-content.html\", false, \"../templates/l-payments/l-payments.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n Плательщик\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n Вид платежа\\n
\\n
\\n
\\n Номер платежа\\n
\\n
\\n
\\n Сумма платежа\\n
\\n
\\n
\\n Назначение платежа\\n
\\n
\\n
\\n Дата банка\\n
\\n
\\n
\\n Дата поступления\\n
\\n
\\n
\\n Группа категорий\\n
\\n
\\n
\\n Категория\\n
\\n
\\n
\\n Период начисления\\n
\\n
\\n
\\n Сумма начисления\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payments/l-payments.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payments/l-payments.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payments/l-payments__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Плательщик
\\n \\n
\\n
\\n
Договор
\\n \\n
\\n\\n
\\n
Вид платежа
\\n \\n
\\n
\\n
Номер платежа
\\n \\n
\\n
\\n
Период начисления
\\n \\n
\\n\\n
\\n
Статус
\\n \\n
\\n
\\n
Дата с
\\n \\n
\\n
\\n
Дата по
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payments/l-payments__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payments/l-payments__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payments/l-payments__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payments\")),\"payment_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payer\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"type_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payment_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"payment_sum\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"payment_purpose\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"payment_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"payment_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"payment_receipt_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"category_group_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"category_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"pay_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"pay_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"pay_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((t_4),\"pay_sum\")):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payments/l-payments__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payments/l-payments__table-content.html","import template from '../templates/l-references/l-references.html'\nimport Controller from './main';\nimport Router from 'blocko/router';\nimport {post, parse_json, attach_event, closest} from 'blocko/helpers'\nimport {append_alert, push_alert} from 'blocko/functions/alert'\n\nclass References extends Controller {\n\n static get route() {\n return '/references/';\n }\n\n\n constructor() {\n super();\n super.prepare_context({\n constant: '/api/red/thesaurus/constant/list',\n comission: {\n path: '/api/red/thesaurus/object/category/group/list',\n data: {\n order_by: 'id:asc'\n }\n }\n });\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n form: document.querySelectorAll('.l-references__edit-const'),\n checker: document.querySelectorAll('.b-combo input')\n };\n\n push_alert('references');\n\n this._bind();\n }\n\n _bind() {\n attach_event(this.dom.form, 'submit', this._submit_form.bind(this));\n attach_event(this.dom.checker, 'click', this._submit_checker.bind(this));\n }\n\n _submit_form(event) {\n event.preventDefault();\n\n let url = event.target.getAttribute('action');\n let form_data = new FormData(event.target);\n\n post(url, form_data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n append_alert('references', 'Изменения сохранены');\n this.url_for('References', {});\n }\n });\n }\n\n _submit_checker(event) {\n let form = closest(event.target, '.l-references__edit-checker');\n let form_data = new FormData(form);\n let url = form.getAttribute('action');\n\n post(url, form_data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n append_alert('references', 'Изменения сохранены');\n this.url_for('References', {});\n }\n });\n }\n}\n\nRouter.add_page(References);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/references.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-references/l-references.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-references/l-references.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Справочники
\\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"comission\")),\"categorygroups\");\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n
\\n \\n \\n \\n \\n
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-references/l-references.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-references/l-references.html","import template from '../templates/l-payment-protocol/l-payment-protocol.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\n\n\nclass PaymentProtocol extends Controller {\n\n static get route() {\n return '/payment_files//protocol//';\n }\n\n constructor(params) {\n super();\n super.prepare_context({\n payment: {\n path: '/api/red/payment/file/protocol/get',\n data: {\n id: params.id,\n with: 'payment,payment_journalentery,file'\n },\n handler: response => {\n if (!response.success) {\n this.abort();\n }\n }\n }\n });\n super.add('active_menu', '#import');\n super.render_page(template);\n }\n}\n\nRouter.add_page(PaymentProtocol);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/payment_protocol.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-payment-protocol/l-payment-protocol.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-payment-protocol/l-payment-protocol.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Протокол обработки платежа
\\n
\\n
\\n
Данные из файла
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Плательщик:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NURL\"), env.opts.autoescape);\noutput += \"Вид платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NAMEPLAT\"), env.opts.autoescape);\noutput += \"Банковская дата:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_B\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_B\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"ИНН банка:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"BANK_INN\"), env.opts.autoescape);\noutput += \"Период начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_NACH\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_NACH\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"
Номер договора:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NDOG10\"), env.opts.autoescape);\noutput += \"Назначение платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NAZN\"), env.opts.autoescape);\noutput += \"Дата внесения:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_VNES\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"DATE_VNES\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"ИНН плательщика:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"URL_INN\"), env.opts.autoescape);\noutput += \"Сумма начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"SUM_NACH\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"SUM_NACH\")):\"\"), env.opts.autoescape);\noutput += \"
Группа категорий:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"GR_KAT\"), env.opts.autoescape);\noutput += \"Номер платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NPLAT\"), env.opts.autoescape);\noutput += \"Сумма платежа:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"SUM_B\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"SUM_B\")):\"\"), env.opts.autoescape);\noutput += \"р/с плательщика:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"bd_rs\"), env.opts.autoescape);\noutput += \"
Категория:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"NKAT\"), env.opts.autoescape);\noutput += \"Остаток платежа:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"OST\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"dbf_raw\")),\"OST\")):\"\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
Обработанная строка
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Плательщик:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payer\"), env.opts.autoescape);\noutput += \"Дата внесения:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_receipt_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_receipt_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"Период начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"pay_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"pay_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"
Номер договора:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"contract_num\"), env.opts.autoescape);\noutput += \"Номер платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_num\"), env.opts.autoescape);\noutput += \"Сумма платежа:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_sum\")):\"\"), env.opts.autoescape);\noutput += \"Сумма начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"pay_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"pay_sum\")):\"\"), env.opts.autoescape);\noutput += \"
Статус:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"status_name\"), env.opts.autoescape);\noutput += \"Назначение платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment_purpose\"), env.opts.autoescape);\noutput += \"Группа категорий:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"category_group_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
Платёж
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Плательщик:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payer\"), env.opts.autoescape);\noutput += \"Вид платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"type_name\"), env.opts.autoescape);\noutput += \"Дата внесения:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_receipt_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_receipt_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"Период начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"
Номер договора:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"contract_num\"), env.opts.autoescape);\noutput += \"Номер платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_num\"), env.opts.autoescape);\noutput += \"Сумма платежа:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_sum\")):\"\"), env.opts.autoescape);\noutput += \"Сумма начисления:  \";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_sum\")?env.getFilter(\"convert_price\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_sum\")):\"\"), env.opts.autoescape);\noutput += \"
Статус:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"status_name\"), env.opts.autoescape);\noutput += \"Назначение платежа:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"payment_purpose\"), env.opts.autoescape);\noutput += \"Группа категорий:  \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"category_group_name\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n\\n
\\n
Проводки
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nframe = frame.push();\nvar t_7 = runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"journalentery\");\nif(t_7) {var t_6 = t_7.length;\nfor(var t_5=0; t_5 < t_7.length; t_5++) {\nvar t_8 = t_7[t_5];\nframe.set(\"item\", t_8);\nframe.set(\"loop.index\", t_5 + 1);\nframe.set(\"loop.index0\", t_5);\nframe.set(\"loop.revindex\", t_6 - t_5);\nframe.set(\"loop.revindex0\", t_6 - t_5 - 1);\nframe.set(\"loop.first\", t_5 === 0);\nframe.set(\"loop.last\", t_5 === t_6 - 1);\nframe.set(\"loop.length\", t_6);\noutput += \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n \\n
Тип проводкиДата проводкиСумма проводкиДоговорВид платежаПериод
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_8),\"type_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((t_8),\"ctime_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_8),\"ctime_unixtime\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"contract_num\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"type_name\"), env.opts.autoescape);\noutput += \"\";\noutput += runtime.suppressValue((runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"payment\")),\"file\")),\"payment\")),\"pay_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"
\\n
\\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-payment-protocol/l-payment-protocol.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-payment-protocol/l-payment-protocol.html","import template from '../templates/l-contracts/l-contracts.html'\nimport table_content from '../templates/l-contracts/l-contracts__table-content.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\n\nconst DATE_FILTER_POSTFIX = {\n begin: ':>=',\n end: ':<='\n};\n\n\nclass Contracts extends Controller {\n\n static get route() {\n return '/contracts/';\n }\n\n constructor() {\n super();\n super.add('active_menu', '#import');\n super.prepare_context({\n contracts: {\n path: '/api/red/contract/list'\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table_content: document.querySelector('.l-contracts__table-content'),\n table_wrap: document.querySelector('.l-contracts__table-wrap')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.is_rendered = false;\n\n this.widgets = {\n b_filter: get_widget(document.querySelector('.l-contracts__filter'), 'bDropdownFilter'),\n b_search: get_widget(document.querySelector('.l-contracts__search'), 'bSearch')\n };\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter.bind(this));\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/contract/list', this.query_params, response => {\n response = parse_json(response);\n this.is_rendered = response.data.contracts.length < this.TABLE_ROW_COUNT;\n\n this.dom.table_content.innerHTML = this.render(table_content, {contracts: response.data});\n });\n }\n\n\n /**\n * Поиск\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query_params, {'search': value}, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n if (!value) {\n delete this.query_params['search'];\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n Object.assign(this.query_params, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n delete this.query_params['search'];\n this._render_content();\n }\n\n\n /**\n * Фильтры\n * @param widget\n * @private\n */\n _event_filter(widget) {\n let form_object = {};\n Object.assign(form_object, widget.form.dict);\n form_object.date_begin = form_object.date_begin ? form_object.date_begin + DATE_FILTER_POSTFIX.begin : '';\n form_object.date_end = form_object.date_end ? form_object.date_end + DATE_FILTER_POSTFIX.end : '';\n\n this.query_params = Object.assign(\n this.query_params,\n form_object,\n {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE}\n );\n\n this._calc_table_wrap();\n this._render_content();\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table_content.scrollHeight,\n this.dom.table_content.offsetHeight,\n this.dom.table_content.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/contract/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_content.insertAdjacentHTML('beforeEnd', this.render(table_content, {contracts: response.data}));\n\n if (response.data.contracts.length == this.TABLE_ROW_COUNT) {\n this.is_rendered = false;\n }\n });\n }\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-contracts__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-contracts__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(Contracts);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/contracts.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-contracts/l-contracts__filter.html\"] = require( \"../l-contracts/l-contracts__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-contracts/l-contracts__table-content.html\"] = require( \"../l-contracts/l-contracts__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contracts/l-contracts.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-contracts/l-contracts.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Контракты
\\n
\\n\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-contracts/l-contracts.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-contracts/l-contracts.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 13, colno = 24, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-contracts__search\"},{\"placeholder\": \"Поиск по контрагенту и договору\"}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 19, colno = 37, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-contracts/l-contracts__filter.html\", false, \"../templates/l-contracts/l-contracts.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-contracts/l-contracts.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-contracts/l-contracts__table-content.html\", false, \"../templates/l-contracts/l-contracts.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Номер договора\\n
\\n
\\n
\\n Дата договора\\n
\\n
\\n
\\n Дата начала действия\\n
\\n
\\n
\\n Дата окончания действия\\n
\\n
\\n
\\n Идентификатор\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contracts/l-contracts.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contracts/l-contracts.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contracts/l-contracts__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Пользователь
\\n \\n
\\n
\\n
Номер договора
\\n \\n
\\n
\\n
Период действия договора с
\\n \\n
\\n
\\n
Период действия договора по
\\n \\n
\\n
\\n
Код договора (идентификатор)
\\n \\n
\\n
\\n \\n
\\n
\\n
\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contracts/l-contracts__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contracts/l-contracts__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contracts/l-contracts__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contracts\")),\"contracts\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contragent_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"contract_num\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"contract_date\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"contract_date\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_begin\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_begin\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_end\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_end\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"_kdog\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contracts/l-contracts__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contracts/l-contracts__table-content.html","import template from '../templates/l-contragents/l-contragents.html'\nimport table_content from '../templates/l-contragents/l-contragents__table-content.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget} from 'blocko/helpers'\n\n\nclass Contragents extends Controller {\n\n static get route() {\n return '/contragents/';\n }\n\n constructor() {\n super();\n super.add('active_menu', '#import');\n super.prepare_context({\n contragents: {\n path: '/api/red/contragent/list'\n }\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n table_content: document.querySelector('.l-contragents__table-content'),\n table_wrap: document.querySelector('.l-contragents__table-wrap')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.is_rendered = false;\n\n this.widgets = {\n b_filter: get_widget(document.querySelector('.l-contragents__filter'), 'bDropdownFilter'),\n b_search: get_widget(document.querySelector('.l-contragents__search'), 'bSearch')\n };\n\n this._bind();\n }\n\n\n _bind() {\n this.widgets.b_filter.attach('submit', this._event_filter.bind(this));\n this.widgets.b_filter.attach('change', this._event_filter.bind(this));\n this.widgets.b_filter.attach('click', this._event_filter.bind(this));\n this.widgets.b_search.attach('input', this._event_search.bind(this));\n this.widgets.b_search.attach('click', this._clear_search.bind(this));\n this.dom.table_wrap.addEventListener('scroll', () => {\n this._window_scroll_event();\n });\n }\n\n\n /**\n * Перерисовка таблицы в соответсвии с примененными фильтрами\n * @private\n */\n _render_content() {\n post('/api/red/contragent/list', this.query_params, response => {\n response = parse_json(response);\n this.is_rendered = response.data.contragent_list.length < this.TABLE_ROW_COUNT;\n\n this.dom.table_content.innerHTML = this.render(table_content, {contragents: response.data});\n });\n }\n\n\n /**\n * Поиск\n * @param widget\n * @private\n */\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n Object.assign(this.query_params, {'search': value}, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n if (!value) {\n delete this.query_params['search'];\n }\n\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._render_content();\n }.bind(this), 400);\n }\n\n\n /**\n * Сброс поля поиска\n * @private\n */\n _clear_search() {\n Object.assign(this.query_params, {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE});\n\n delete this.query_params['search'];\n this._render_content();\n }\n\n\n /**\n * Фильтры\n * @param widget\n * @private\n */\n _event_filter(widget) {\n this.query_params = Object.assign(\n this.query_params,\n widget.form.dict,\n {rows: this.TABLE_ROW_COUNT, page: this.DEFAULT_PAGE}\n );\n\n this._calc_table_wrap();\n this._render_content();\n }\n\n\n /**\n * Эвент скрола страницы\n * @private\n */\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table_content.scrollHeight,\n this.dom.table_content.offsetHeight,\n this.dom.table_content.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n /**\n * Дорисовка контента таблицы при скролле\n * @private\n */\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/contragent/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_content.insertAdjacentHTML('beforeEnd', this.render(table_content, {contragents: response.data}));\n\n if (response.data.contragent_list.length == this.TABLE_ROW_COUNT) {\n this.is_rendered = false;\n }\n });\n }\n\n /**\n * Пересчет высоты таблицы в зависимости от фильтра\n * @private\n */\n _calc_table_wrap() {\n if (this.widgets.b_filter.state) {\n this.dom.table_wrap.classList.add('l-contragents__table-wrap_filter');\n } else {\n this.dom.table_wrap.classList.remove('l-contragents__table-wrap_filter');\n }\n }\n}\n\nRouter.add_page(Contragents);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/contragents.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-contragents/l-contragents__filter.html\"] = require( \"../l-contragents/l-contragents__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-contragents/l-contragents__table-content.html\"] = require( \"../l-contragents/l-contragents__table-content.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contragents/l-contragents.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-contragents/l-contragents.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
\\n
Контрагенты
\\n
\\n\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-contragents/l-contragents.html\", false, function(t_6,t_5) {\nif(t_6) { cb(t_6); return; }\nt_5.getExported(function(t_7,t_5) {\nif(t_7) { cb(t_7); return; }\nif(t_5.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_8 = t_5.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_8);\noutput += \"\\n \";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-contragents/l-contragents.html\", false, function(t_10,t_9) {\nif(t_10) { cb(t_10); return; }\nt_9.getExported(function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nif(t_9.hasOwnProperty(\"bSearch\")) {\nvar t_12 = t_9.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_12);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 13, colno = 24, runtime.callWrap(t_12, \"bSearch\", context, [{\"class\": \"l-contragents__search\"},{\"placeholder\": \"Поиск по названию / имени контрагента и ИНН\"}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 19, colno = 37, runtime.callWrap(t_8, \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-contragents/l-contragents__filter.html\", false, \"../templates/l-contragents/l-contragents.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-contragents/l-contragents.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-contragents/l-contragents__table-content.html\", false, \"../templates/l-contragents/l-contragents.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n Идентификатор\\n
\\n
\\n
\\n Контрагент\\n
\\n
\\n
\\n ИНН\\n
\\n
\\n
\\n КПП\\n
\\n
\\n
\\n ОГРН\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\ncb(null, output);\n})})})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contragents/l-contragents.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contragents/l-contragents.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contragents/l-contragents__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Контрагент
\\n \\n
\\n
\\n
ИНН
\\n \\n
\\n
\\n
Код контрагента (идентификатор)
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contragents/l-contragents__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contragents/l-contragents__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-contragents/l-contragents__table-content.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"contragents\")),\"contragent_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"_kurl\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"inn\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"kpp\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"ogrn\"), env.opts.autoescape);\noutput += \"\\n \\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-contragents/l-contragents__table-content.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-contragents/l-contragents__table-content.html","import template from '../templates/l-rightholders-documents/l-rightholders-documents.html'\nimport document_list from '../templates/l-rightholders-documents/l-rightholders-documents__list.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport {post, parse_json, get_widget, attach_event, convert_date, each} from 'blocko/helpers'\nimport iModal from \"blocko/widgets/i-modal/i-modal\";\nimport {push_alert, append_alert} from 'blocko/functions/alert'\n\n\nclass RightholdersDocuments extends Controller {\n\n static get route() {\n return '/rightholders_documents/';\n }\n\n constructor(params, query) {\n super();\n\n this.add('query', query);\n\n if(query == undefined){\n query = {order_by: \"ts_modify:desc\"}\n }\n\n super.prepare_context({\n documents: {\n path: '/api/red/rightholder/document/list/',\n data: query\n },\n });\n\n super.render_page(template);\n }\n\n init() {\n this.dom = {\n content: document.querySelector('.l-rightholders-documents__list'),\n add_button: document.querySelectorAll('.l-rightholders-documents__button-add-doc'),\n decline_button: document.querySelectorAll('.l-rightholders-documents__button-close'),\n accept_button: document.querySelectorAll('.l-rightholders-documents__button-accept'),\n delete_button: document.querySelectorAll('.l-rightholders-documents__button-delete'),\n reason_status_button: document.querySelectorAll('.l-rightholders-documents__button-reason'),\n modal_body: document.querySelector('.l-rightholders-documents__reason'),\n modal_add_body: document.querySelector('.l-rightholders-documents__add'),\n modal_reason_body: document.querySelector('.l-rightholders-documents__status'),\n input_contract_name: undefined,\n input_contract_id: undefined,\n input_file_name: undefined\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE,\n };\n\n this.query_params = Object.assign(this.query_params, this.get_param('query'));\n\n this.widgets = {\n modal: get_widget(this.dom.modal_body, 'iModal'),\n modal_add: get_widget(this.dom.modal_add_body, 'iModal'),\n reason_status: get_widget(this.dom.modal_reason_body, 'iModal'),\n sort_widget: get_widget(document.querySelector('.b-table-sort'), 'bTableSort'),\n suggest_contract_name: undefined,\n b_search: get_widget(document.querySelector('.l-report__search-phonogram'), 'bSearch'),\n };\n\n this.suggest_selected_id = null;\n\n this._bind();\n }\n\n _bind() {\n attach_event(this.dom.add_button, 'click', this._show_add_file_modal.bind(this));\n attach_event(this.dom.decline_button, 'click', this._show_decline_modal.bind(this));\n attach_event(this.dom.content, 'click', this._accept_and_delete_bind.bind(this));\n\n this.widgets.sort_widget.attach('sort_click', widget => {\n this._event_sort_table(widget);\n });\n\n this.widgets.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.widgets.b_search.attach('click', widget => {\n this._get_default(widget);\n });\n }\n\n _show_add_file_modal(event){\n\n if (!this.widgets.modal_add) {\n this.widgets.modal_add = new iModal(this.dom.modal_add_body.innerHTML, {\n node_link: this.dom.modal_add_body\n });\n } else {\n this.widgets.modal_add.change_body(this.dom.modal_add_body.innerHTML);\n }\n\n this.dom.input_contract_name = document.querySelector('.l-rightholders-documents__reason-form-contragent');\n this.dom.input_contract_id = document.querySelector('.l-rightholders-documents__reason-form-contragent-id');\n this.widgets.suggest_contract_name = get_widget(this.dom.input_contract_name, 'bInput');\n\n this.widgets.suggest_contract_name.attach('suggest_click', (index, event) => {\n this.suggest_selected_id = this.contracts_id_list[index];\n this.dom.input_contract_id.value = this.suggest_selected_id;\n\n });\n\n this.dom.input_contract_name.addEventListener('input', event => {\n\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(function () {\n post('/api/red/rms_contract/list', {search: value}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.contracts_id_list = [];\n this.widgets.suggest_contract_name.create_suggest(\n response.data.contracts.map(item => {\n this.contracts_id_list.push(item['id']);\n return item['contragent_name_inner'] + \" (\" + item['num'] + \")\";\n }), 'add-report-suggest'\n );\n }\n });\n }.bind(this), 300);\n }\n });\n\n let modal_form = this.widgets.modal_add.element.querySelector('.l-rightholders-documents__reason-form-upload');\n let input_file = this.widgets.modal_add.element.querySelector('.l-rightholders-documents__reason-form-file');\n let input_date = this.widgets.modal_add.element.querySelector('.l-rightholders-documents__reason-form-date');\n let response_status = this.widgets.modal_add.element.querySelector('.l-rightholders-documents__reason-form-status');\n let thisDateFormat = convert_date(new Date().getTime()/1000, \"DD.MM.YYYY\");\n\n input_date.value = thisDateFormat;\n\n this.widgets.modal_add_form = get_widget(modal_form, 'iForm');\n\n modal_form.addEventListener('submit', event => {\n event.preventDefault();\n\n if (this.widgets.modal_add_form.validate()) {\n post('/api/red/rightholder/document/add', this._add_document_data(this.widgets.modal_add_form.dict, input_file), response => {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n } else if (response.success == 0) {\n response_status.innerHTML = response.errmess;\n }\n });\n }\n });\n\n this.widgets.modal_add.show();\n }\n\n _show_decline_modal(event) {\n\n let id = event.target.parentNode.getAttribute('data-id');\n\n if (!this.widgets.modal) {\n this.widgets.modal = new iModal(this.dom.modal_body.innerHTML, {\n node_link: this.dom.modal_body\n });\n } else {\n this.widgets.modal.change_body(this.dom.modal_body.innerHTML);\n }\n\n let modal_close = this.widgets.modal.element.querySelector('.b-modal__close');\n let modal_form = this.widgets.modal.element.querySelector('.l-rightholders-documents__reason-form');\n let cancel_button = event.target\n\n this.widgets.modal_form = get_widget(modal_form, 'iForm');\n\n modal_form.addEventListener('submit', event => {\n event.preventDefault();\n\n if (this.widgets.modal_form.validate()) {\n\n let data = this.widgets.modal_form.dict;\n data.document_id = id;\n\n post('/api/red/cabinet/document/reject', data, response => {\n response = parse_json(response);\n if(response.success) {\n cancel_button.parentNode.innerHTML = 'Отклонено';\n this.widgets.modal.hide();\n }\n\n });\n }\n });\n\n modal_close.addEventListener('click', event => {\n this.widgets.modal.hide();\n });\n\n this.widgets.modal.show();\n }\n\n /**\n * Промежуточная функция изменения статуса документа\n */\n _accept_and_delete_bind(event){\n\n let eventClassList = event.target.classList;\n let doc_id = event.target.getAttribute('data-id');\n\n if(eventClassList.contains('l-rightholders-documents__button-delete') && doc_id){\n this._delete_loaded_file_request(doc_id);\n } else if(eventClassList.contains('l-rightholders-documents__button-accept') && doc_id){\n this._send_accepted_request(doc_id);\n } else if(eventClassList.contains('l-rightholders-documents__button-reason') && doc_id){\n this._get_reason_text(doc_id);\n }\n\n\n }\n /**\n * Отправляет запрос на фиксированного согласования документа\n * id\n * @private\n */\n _send_accepted_request(document_id){\n\n if(document_id !== undefined){\n\n post('/api/red/rightholder/document/accept', {id: document_id}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n }\n });\n\n }\n\n }\n\n /**\n * Запрос на удаление загруженного файла в статусе \"1\"\n * id\n * @private\n */\n _delete_loaded_file_request(document_id){\n\n if(document_id !== undefined){\n\n post('/api/red/rightholder/document/delete', {id: document_id}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n }\n\n _event_sort_table(widget) {\n this.query_params['order_by'] = widget.order_by;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n this._post_data(this.query_params);\n }\n\n _event_search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search_like'] = value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n } else {\n this._get_default();\n }\n }\n\n _get_default() {\n this.query_params.page = this.DEFAULT_PAGE;\n this.query_params.search_like = \"\";\n this._post_data(this.query_params);\n }\n\n _post_data(data) {\n data = Object.assign(data, {report_id: this.report_id});\n post('/api/red/rightholder/document/list', data, this._render.bind(this));\n }\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.content.innerHTML = this.render(\n document_list, {\n documents: response.data\n }\n );\n }\n\n _get_reason_text(document_id){\n\n if(document_id !== undefined){\n\n post('/api/red/rightholder/document/list/', {id: document_id}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n let description = response.data.document_list[0].description;\n this._show_modal_reason(description);\n }\n });\n\n }\n }\n\n _show_modal_reason(description){\n\n if (!this.widgets.reason_status) {\n this.widgets.reason_status = new iModal(this.dom.modal_reason_body.innerHTML, {\n node_link: this.dom.modal_reason_body\n });\n } else {\n this.widgets.reason_status.change_body(this.dom.modal_reason_body.innerHTML);\n }\n\n this.widgets.reason_status.element.querySelector('.b-textarea').value = description;\n console.log(this.widgets.reason_status.element.querySelector('.b-textarea'));\n\n this.widgets.reason_status.show();\n }\n\n _add_document_data({rms_contract_id, date}, inputFiles) {\n let data = new FormData();\n data.append('rms_contract_id', rms_contract_id);\n data.append('date', date);\n Object.keys(inputFiles.files).forEach(key => data.append('file', inputFiles.files[key]));\n return data;\n }\n\n}\n\nRouter.add_page(RightholdersDocuments);\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/rightholders_documents.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"../l-rightholders-documents/l-rightholders-documents__list.html\"] = require( \"../l-rightholders-documents/l-rightholders-documents__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholders-documents/l-rightholders-documents.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-rightholders-documents/l-rightholders-documents.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-rightholders-documents/l-rightholders-documents.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\noutput += t_7;\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n\\n
\\n
Документы для правообладателей
\\n
\\n\\n
\\n\\n
\\n \";\noutput += runtime.suppressValue((lineno = 13, colno = 24, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-report__search-phonogram\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по документу, получателю и договору\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n
\\n\\n
\\n \\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \";\nenv.getTemplate(\"../l-rightholders-documents/l-rightholders-documents__list.html\", false, \"../templates/l-rightholders-documents/l-rightholders-documents.html\", null, function(t_11,t_9) {\nif(t_11) { cb(t_11); return; }\nt_9.render(context.getVariables(), frame, function(t_12,t_10) {\nif(t_12) { cb(t_12); return; }\noutput += t_10\noutput += \"\\n\\n \\n
\\n
\\n \\n Получатель\\n
\\n
\\n
\\n Договор\\n
\\n
\\n
\\n \\n Название документа\\n
\\n
\\n
\\n \\n Дата создания\\n
\\n
\\n
\\n Объём\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Решение\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n\\n
\\n \\n \\n \\n \";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholders-documents/l-rightholders-documents.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholders-documents/l-rightholders-documents.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-rightholders-documents/l-rightholders-documents__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"documents\")),\"document_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"document\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n\\n\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"rms_contragent_name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"rms_contract_num\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date\"),\"numbers\"), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(env.getFilter(\"convert_bytes\").call(context, runtime.memberLookup((t_4),\"size\")), env.opts.autoescape);\noutput += \"\\n \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"is_accepted\") == 1) {\noutput += \"\\n Согласовано\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 2 && runtime.memberLookup((t_4),\"is_accepted\") == 0) {\noutput += \"\\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 3 && runtime.memberLookup((t_4),\"is_accepted\") == 1) {\noutput += \"\\n Согласовано\\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 3 && runtime.memberLookup((t_4),\"is_accepted\") == 0) {\noutput += \"\\n \\n \";\n;\n}\n;\n}\n;\n}\n;\n}\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((t_4),\"status\") == 1 && runtime.memberLookup((t_4),\"is_accepted\") == 0) {\noutput += \"\\n \\n \";\n;\n}\n;\n}\noutput += \"\\n \\n\\n\\n\";\n;\n}\n}\nframe = frame.pop();\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-rightholders-documents/l-rightholders-documents__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-rightholders-documents/l-rightholders-documents__list.html","import template from '../templates/l-reporting-accruals/l-reporting-accruals.html'\nimport progress_modal_template from '../templates/l-reporting-accruals/l-reporting-accruals__modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport cloud from '../images/cloud.svg'\nimport {get, post, parse_json, get_widget, attach_event} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nconst EXPORT_INFO = {\n export_modal: undefined,\n process_started: false,\n task_id: undefined,\n task_completed: false,\n task_success: false,\n error_message: undefined\n}\n\nclass ReportingAccruals extends Controller {\n\n static get route() {\n return '/reporting_accruals/';\n }\n\n constructor () {\n super();\n super.render_page(template, {cloud_image: cloud});\n }\n\n init() {\n this.dom = {\n export_button: document.querySelector('.l-reporting-accruals__export-button')\n };\n\n this.dom.export_button.addEventListener('click', () => {\n this._create_export_process_modal();\n })\n }\n\n /**\n * Создание модалки и запуск процесса слежения за статусом экспорта\n * @private\n */\n _create_export_process_modal() {\n if(EXPORT_INFO.process_started) {\n return EXPORT_INFO.export_modal.show();\n }\n EXPORT_INFO.process_started = true;\n EXPORT_INFO.task_completed = false;\n this._make_export_task();\n if (!EXPORT_INFO.export_modal) {\n let template = this.render(progress_modal_template, {\n data: {\n process: true\n }})\n EXPORT_INFO.export_modal = new iModal(template, {\n strict_hide: true\n });\n } else {\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: true\n }})\n )\n }\n EXPORT_INFO.export_modal.dom.box.classList.add('l-reporting-accruals__modal-body');\n EXPORT_INFO.export_modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n EXPORT_INFO.export_modal.hide();\n })\n EXPORT_INFO.export_modal.show();\n }\n\n /**\n * Создание и слежение за задачай процесса экспорта\n * @private\n */\n _make_export_task() {\n post('/api/red/reports/distribution/create', {}, response => {\n response = parse_json(response);\n if (response.success === 1) {\n EXPORT_INFO.task_id = response.data.task.id;\n let activeTask = setInterval(() => {\n\n if(EXPORT_INFO.task_completed) {\n clearInterval(activeTask);\n return\n }\n this._check_export_task_status()\n }, 3000)\n }\n })\n }\n\n /**\n * Проверка исполнения таски\n * @private\n */\n _check_export_task_status() {\n get('/api/red/reports/distribution/get', {task_id: EXPORT_INFO.task_id}, response => {\n response = parse_json(response);\n if(response.success === 1) {\n let task = response.data.task;\n if (task.status > 2) {\n EXPORT_INFO.task_completed = true;\n /* Если получен статус 3 - то все успешно - показываем ссылку на файл */\n if (task.status === 3) {\n EXPORT_INFO.task_success = true;\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: false,\n success: EXPORT_INFO.task_success,\n link: task.result.link\n }\n }))\n }\n /* если получен статус 4 – то опрос надо останавливать и выводить ошибку . */\n if (task.status === 4) {\n EXPORT_INFO.task_success = false;\n EXPORT_INFO.error_message = task.status_name;\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: false,\n success: EXPORT_INFO.task_success,\n message: EXPORT_INFO.error_message\n }\n }))\n }\n EXPORT_INFO.export_modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n EXPORT_INFO.export_modal.hide();\n })\n EXPORT_INFO.process_started = false;\n }\n }\n })\n }\n}\n\nRouter.add_page(ReportingAccruals);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_accruals.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-accruals/l-reporting-accruals.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-accruals/l-reporting-accruals.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\noutput += t_3;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
Начисления для правообладателей
\\n
\\n \\n
\\n
\\n\";\ncb(null, output);\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-accruals/l-reporting-accruals.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-accruals/l-reporting-accruals.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-accruals/l-reporting-accruals__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка отчетов\\n
\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"process\") == true) {\noutput += \"\\n
Начал создаваться...\\n \";\n;\n}\nelse {\noutput += \"\\n
Завершено
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"success\")) {\noutput += \"\\n Начисления на правообладателей\\n \";\n;\n}\nelse {\noutput += \"\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n
\\n\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-accruals/l-reporting-accruals__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-accruals/l-reporting-accruals__modal.html","module.exports = __webpack_public_path__ + \"img/83a8c567991b6be1bda3734b68436823.svg\";\n\n\n// WEBPACK FOOTER //\n// ./source/images/cloud.svg","import Controller from './main'\nimport Router from 'blocko/router'\nimport { get, post, parse_json, get_widget, each } from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nimport template from '../templates/l-fonmix-report/l-fonmix-report.html'\nimport report_list from '../templates/l-fonmix-report/l-fonmix-report__list.html'\nimport modal_template from '../templates/l-fonmix-report/l-fonmix-generate-report-modal.html'\nimport upload_modal_template from '../templates/l-fonmix-report/l-fonmix-report__upload-modal.html'\nimport report_modal_template from '../templates/l-fonmix-report/l-fonmix-add-report-to-work-modal.html'\n\n/**\n *\n * Статусы раздела\n * STATUS_NAME = [\n * 0 => 'Загружен',\n * 1 => 'Анализируется',\n * 2 => 'Готов к обработке',\n * 3 => 'В обработке',\n * 4 => 'Обрабатывается',\n * 5 => 'Обработан',\n * 11 => 'Ошибка формата',\n * 12 => 'Отсутствуют данные',\n * 13 => 'Отсутствует платёж',\n * 14 => 'Платёж не определён',\n * 15 => 'Ошибка обработки'\n * ];\n */\nconst uploadModal = {\n context: undefined\n}\n\nclass FonmixReports extends Controller {\n static get route() {\n return '/fonmix_reports/';\n }\n\n get PATH () {\n return '/api/red/report/fonmixreport/list';\n }\n\n constructor (params, query) {\n super();\n\n if(!query) {\n query = {};\n }\n\n super.prepare_context({\n reports: {\n path: this.PATH,\n data: query\n }\n })\n\n\n this.add('query', query)\n\n super.render_page(template)\n\n }\n\n init () {\n this.dom = {\n content: document.querySelector('.l-control__fonmix-reports-list'),\n export_report_button: document.querySelector('.fonmix-export'),\n table: document.querySelector('.l-fonmix__table'),\n table_wrap: document.querySelector('.l-fonmix-report__table-wrap'),\n filter_wrapper: document.querySelector('.i-dropdown_filter'),\n values_wrap: document.querySelector('.b-filter-values__wrap'),\n buttons: {\n check_all: document.querySelector('.l-fonmix-report__table-checkbox--all'),\n check_item: document.querySelectorAll('.l-fonmix-report__table-checkbox')\n },\n footer_panel: document.querySelector('.l-fonmix-report__footer-panel'),\n compare_button: document.querySelector('.l-fonmix__compare-button'),\n upload_button: document.querySelector('.fonmix-load'),\n input_file: undefined,\n upload_form: document.querySelector('.l-fonmix-report__upload-form'),\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.checked_items_count = 0;\n this.uploadFiles = {};\n this.selectedIds = [];\n\n this.b_search = get_widget(document.querySelector('.l-fonmix-report__search'), 'bSearch');\n this.b_filter = get_widget(document.querySelector('.l-fonmix-report__filter-form'), 'bDropdownFilter');\n this.dom.filter_wrapper.classList.add('l-reporting-recipients__filter_left');\n this.b_filter.form_submit(null, false);\n\n\n this._bind();\n }\n\n _bind() {\n //search input\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n\n this.b_search.attach('click', widget => {\n this._event_search(widget);\n });\n //filters\n this.b_filter.attach('submit', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('change', widget => {\n this._event_filter(widget);\n });\n\n this.b_filter.attach('click', widget => {\n this._event_filter(widget);\n });\n\n //buttons\n this.dom.upload_button.addEventListener('click', e => {\n this._make_upload_modal()\n })\n this.dom.export_report_button.addEventListener('click', event => {\n this._generate_report(event)\n })\n\n this.dom.buttons.check_all.addEventListener('click', event => {\n event.stopPropagation();\n let check_items = document.querySelectorAll('.l-fonmix-report__table-checkbox');\n if (event.target.checked) {\n each(check_items, item => {\n item.checked = true;\n if(!this.selectedIds.find(item => item === item.value)) {\n this.selectedIds.push(item.value);\n }\n });\n this._show_elements();\n } else {\n each(check_items, item => {\n item.checked = false;\n });\n this._hide_elements();\n this.selectedIds = [];\n }\n this.checked_items_count = document.querySelectorAll('.l-fonmix-report__table-checkbox:checked').length;\n })\n\n //table\n this.dom.table.addEventListener('click', event => {\n if(event.target.classList.contains('l-fonmix-report__update-file-button')) {\n get(`/api/red/report/fonmixreport/create/reports`,{fonmix_report_id: event.target.dataset.id},\n response => {\n let modal = new iModal(this.render(report_modal_template,{}),{\n strict_hide: true\n });\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n modal.show();\n\n })\n\n }\n if (event.target.classList.contains('l-fonmix-report__table-checkbox')) {\n let items_count = document.querySelectorAll('.l-fonmix-report__table-checkbox').length;\n if(event.target.checked){\n this.selectedIds.push(event.target.value);\n } else {\n this.selectedIds.splice(this.selectedIds.indexOf(event.target.value),1);\n }\n\n this.checked_items_count = document.querySelectorAll('.l-fonmix-report__table-checkbox:checked').length;\n\n if (this.checked_items_count === 0) {\n this._hide_elements();\n this.dom.buttons.check_all.checked = false;\n } else if (this.checked_items_count === items_count) {\n this.dom.buttons.check_all.checked = true;\n this._show_elements();\n } else {\n this._show_elements();\n }\n }\n })\n\n this.dom.compare_button.addEventListener('click', () => {\n let params = new URLSearchParams();\n this.selectedIds.forEach(id => {\n params.append('fonmix_report_id', id);\n })\n get(`/api/red/report/fonmixreport/create/reports?${params}`,{},\n response => {\n let modal = new iModal(this.render(report_modal_template,{}),{\n strict_hide: true\n });\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n modal.show();\n\n })\n })\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post(this.PATH, this.query_params, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(report_list, {reports: response.data}));\n\n if (response.data.fonmixreport_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n _event_filter(widget) {\n let data = widget.form.dict;\n this.query_params['init_fio'] = data.init_fio;\n this.query_params['status'] = data.status;\n this.query_params = Object.assign(this.query_params, data, {page: this.DEFAULT_PAGE});\n this._get_data(this.query_params);\n }\n\n\n _event_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n this._get_data(this.query_params);\n }\n\n _post_data(data) {\n post(this.PATH, data, this._render.bind(this))\n }\n\n _get_data(data) {\n get(this.PATH , data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.content.innerHTML = this.render(\n report_list, {reports: response.data}\n );\n }\n\n _generate_report(event) {\n this.modal = new iModal('', {\n node_link: event.target\n });\n\n const setupModal = (modal, data = {}) => {\n modal.change_body(this.render(modal_template, data));\n modal.dom.box.querySelector('.i-modal__close').classList.add('hidden');\n modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n location.reload();\n });\n }\n\n setupModal(this.modal);\n\n this.modal.attach('hide', () => {\n this.modal.show();\n });\n\n this.modal.show();\n get('/api/red/report/fonmixreport/create/xls',this.query_params, rawResponse => {\n let response = parse_json(rawResponse);\n if (response.success) {\n setupModal(this.modal, response.data);\n let status_checker = setInterval(() => {\n get('/api/red/report/fonmixreport/get/xls', {task_id: response.data.task.id}, rawStatusResponse => {\n let statusResponse = parse_json(rawStatusResponse);\n if (statusResponse.data.task.status === 3 || statusResponse.data.task.status === 4) {\n clearInterval(status_checker);\n }\n setupModal(this.modal, statusResponse.data);\n })\n }, 10000)\n }\n }\n )\n }\n\n _hide_elements() {\n this.dom.footer_panel.classList.add('hidden');\n //this.dom.table.classList.remove('l-home__reports-table_pad');\n }\n\n\n _show_elements() {\n this.dom.footer_panel.classList.remove('hidden');\n //this.dom.table.classList.add('l-home__reports-table_pad');\n }\n\n _make_upload_modal() {\n\n const attachEvents = instance => {\n this.dom.input_file = instance.dom.box.querySelector('.l-fonmix__native-upload-file');\n this.dom.input_file.addEventListener('change', e => {\n this.uploadFiles = e.target.files;\n if(uploadModal.context) {\n uploadModal.context.change_body(this.render(upload_modal_template, {\n files: this.uploadFiles\n }))\n }\n });\n instance.dom.box.addEventListener('submit', e => {\n e.preventDefault();\n let data = new FormData();\n Object.keys(this.uploadFiles).forEach(key => data.append('files', this.uploadFiles[key]) )\n post('/api/red/report/fonmixreport/add/files',data, response => {\n this.uploadFiles = {};\n location.reload();\n }, error => {\n this.uploadFiles = {};\n uploadModal.context.change_body(this.render(upload_modal_template, {\n files: this.uploadFiles\n }))\n uploadModal.context.hide();\n })\n })\n this.dom.input_original_name = instance.dom.box.querySelector('.l-scapr__upload-file-original-name');\n instance.dom.box.querySelector('.b-modal__close').addEventListener('click', e => {\n instance.hide()\n });\n }\n\n if(uploadModal.context) {\n uploadModal.context.change_body(this.render(upload_modal_template));\n attachEvents(uploadModal.context)\n return uploadModal.context.show();\n }\n let modal_template = this.render(upload_modal_template)\n\n let modal = new iModal(modal_template,{\n strict_hide: true\n })\n uploadModal.context = modal;\n attachEvents(uploadModal.context);\n modal.show()\n }\n}\n\nRouter.add_page(FonmixReports);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/fonmix_reports.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-fonmix-report/l-fonmix-report__filter.html\"] = require( \"../l-fonmix-report/l-fonmix-report__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-fonmix-report/l-fonmix-report__list.html\"] = require( \"../l-fonmix-report/l-fonmix-report__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-report.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-fonmix-report/l-fonmix-report.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-fonmix-report/l-fonmix-report.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-fonmix-report/l-fonmix-report.html\", false, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\nt_7.getExported(function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nif(t_7.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_10 = t_7.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_10);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_12,t_11) {\nif(t_12) { cb(t_12); return; }\noutput += t_11;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n\\n
\\n
\\n
Отчеты FonMix
\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 12, colno = 12, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-fonmix-report__search\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по названию файла, пользователю\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n\\n \";\noutput += runtime.suppressValue((lineno = 20, colno = 25, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_13 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_14 = \"\";env.getTemplate(\"../l-fonmix-report/l-fonmix-report__filter.html\", false, \"../templates/l-fonmix-report/l-fonmix-report.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\nt_14 += t_16\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_14);\n});\nreturn macro_t_13;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n Сопоставить\\n \\n \\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-fonmix-report/l-fonmix-report.html\", null, function(t_21,t_19) {\nif(t_21) { cb(t_21); return; }\nt_19.render(context.getVariables(), frame, function(t_22,t_20) {\nif(t_22) { cb(t_22); return; }\noutput += t_20\noutput += \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-fonmix-report/l-fonmix-report__list.html\", false, \"../templates/l-fonmix-report/l-fonmix-report.html\", null, function(t_25,t_23) {\nif(t_25) { cb(t_25); return; }\nt_23.render(context.getVariables(), frame, function(t_26,t_24) {\nif(t_26) { cb(t_26); return; }\noutput += t_24\noutput += \"\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n Дата загрузки\\n
\\n
\\n
\\n Инициатор\\n
\\n
\\n
\\n Имя файла\\n
\\n
\\n
\\n Пользователь\\n
\\n
\\n
\\n Дата и время обработки\\n
\\n
\\n
\\n Статус\\n
\\n
\\n
\\n Действия\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-report.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-report.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-report__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n
\\n
Период расчёта с
\\n \\n
\\n
\\n
Период расчёта по
\\n \\n
\\n
\\n
Инициатор
\\n \\n\\n
\\n
\\n
Статус
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-report__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-report__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-report__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"reports\")),\"fonmixreport_list\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n\\n \\n \\n \\n \\n \\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_in_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_in\"),\"numbers\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"init_fio\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"filename\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"user_fio\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue((runtime.memberLookup((t_4),\"date_prosess_unixtime\")?env.getFilter(\"convert_date\").call(context, runtime.memberLookup((t_4),\"date_prosess_unixtime\"),\"numbers\") + \" \" + env.getFilter(\"convert_time\").call(context, runtime.memberLookup((t_4),\"date_prosess_unixtime\"),\"default\"):\"\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"status_name\"), env.opts.autoescape);\noutput += \"\\n \\n \\n \";\nif(runtime.memberLookup((t_4),\"status\") == 5) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \";\nif(runtime.memberLookup((t_4),\"status\") == 12 || runtime.memberLookup((t_4),\"status\") == 13 || runtime.memberLookup((t_4),\"status\") == 14 || runtime.memberLookup((t_4),\"status\") == 2) {\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n \\n\\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-report__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-report__list.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-generate-report-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Выгрузка отчета\\n
\\n\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 3) {\noutput += \"\\n

Завершено

\\n \\n \";\n;\n}\nelse {\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status\") == 4) {\noutput += \"\\n

Ошибка создания отчета

\\n
    \\n
  • \\n \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"task\")),\"status_name\"), env.opts.autoescape);\noutput += \"\\n
  • \\n
\\n \";\n;\n}\nelse {\noutput += \"\\n
\\n
\\n Начал создаваться...\\n
\\n \";\n;\n}\n;\n}\noutput += \"\\n
\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-generate-report-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-generate-report-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-report__upload-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Загрузка файлов отчетов\\n
\\n
\\n
\\n \";\nframe = frame.push();\nvar t_3 = runtime.contextOrFrameLookup(context, frame, \"files\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"file\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n \\n
\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-report__upload-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-report__upload-modal.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report/l-fonmix-add-report-to-work-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Файлы отправлены в обработку\\n
\\n
\\n Файлы отправлены в обработку. После ее окончания будут созданы отчеты.\\n
\\n \\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report/l-fonmix-add-report-to-work-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report/l-fonmix-add-report-to-work-modal.html","import Controller from './main'\nimport Router from 'blocko/router'\nimport { get, post, parse_json, get_widget, each } from 'blocko/helpers'\n\nimport template from '../templates/l-fonmix-report-match/l-fonmix-report-match.html'\nimport report_list from '../templates/l-fonmix-report-match/l-fonmix-report-match__list.html'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\nimport modal_template from '../templates/l-fonmix-report/l-fonmix-generate-report-modal.html'\nimport {set_context} from 'blocko/functions/context'\n\nimport comparsion_modal from '../templates/b-comparison-manual/b-comparison-manual.html'\n\nclass FonmixReportsMatch extends Controller {\n static get route() {\n return '/fonmix_reports_match/';\n }\n\n get PATH () {\n return '/api/red/report/fonmixreport/list/tracks';\n }\n\n constructor (params, query) {\n super();\n\n if(!query) {\n query = {};\n }\n\n super.prepare_context({\n tracks: {\n path: this.PATH,\n data: query\n }\n })\n\n\n this.add('query', query)\n\n super.render_page(template)\n\n }\n\n init () {\n this.dom = {\n content: document.querySelector('.l-control__fonmix-reports-list'),\n table: document.querySelector('.l-fonmix__table'),\n table_wrap: document.querySelector('.l-fonmix-report-match__table-wrap'),\n values_wrap: document.querySelector('.b-filter-values__wrap'),\n footer_panel: document.querySelector('.l-fonmix-report-match__footer-panel'),\n input_file: undefined,\n upload_form: document.querySelector('.l-fonmix-report-match__upload-form'),\n match_modal: document.querySelectorAll('.l-fonmix-report__match-modal')\n };\n\n this.query_params = {\n rows: this.TABLE_ROW_COUNT,\n page: this.DEFAULT_PAGE\n };\n\n this.b_search = get_widget(document.querySelector('.l-fonmix-report-match__search'), 'bSearch');\n\n\n this._bind();\n this.is_rendered = false\n }\n\n _bind() {\n //search input\n this.b_search.attach('input', widget => {\n this._event_search(widget);\n });\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n //buttons\n this.dom.match_modal.forEach(button => {\n button.addEventListener('click', event => {\n this._makeMatchModal(event)\n })\n })\n // this.dom.match_modal.addEventListener('click', event => {\n // this._makeMatchModal(event)\n // })\n }\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n _makeMatchModal(event) {\n let modal = get_widget(event.currentTarget, 'iModal');\n if (!modal) {\n modal = new iModal(comparsion_modal, {\n node_link: event.currentTarget,\n strict_hide: true\n });\n }\n\n let track_id = event.target.getAttribute('data-id');\n\n post('/api/red/report/track/get', {id: track_id}, response => {\n response = parse_json(response);\n if (response.success == 1) {\n\n let track_data = response.data,\n data = {\n alias_name_like: track_data.track.name,\n alias_performers_like: track_data.track.performer,\n alias_publisher_like: track_data.track.publisher,\n };\n\n data.date = this.report_date\n\n post('/api/red/track/list', data, response => {\n response = parse_json(response);\n\n let track_list = response.data;\n\n if (response.success == 1) {\n modal.change_body(this.render(comparsion_modal, Object.assign(track_data, track_list, {track_id: track_id, is_fonmix: true})));\n modal.show();\n }\n });\n }\n });\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n this.is_rendered = true;\n this.query_params.last_mxhub_id = this.get_param('tracks').last_mxhub_id\n\n post(this.PATH, this.query_params, response => {\n response = parse_json(response);\n\n this.dom.content.insertAdjacentHTML('beforeEnd', this.render(report_list, {tracks: response.data}));\n\n if (response.data.fonmixreport_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _event_search(widget) {\n this.query_params['search'] = widget.dom.input.value;\n this.query_params = Object.assign(this.query_params, {page: this.DEFAULT_PAGE});\n\n this._get_data(this.query_params);\n }\n\n _post_data(data) {\n post(this.PATH, data, this._render.bind(this))\n }\n\n _get_data(data) {\n get(this.PATH , data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n\n this.dom.content.innerHTML = this.render(\n report_list, {tracks: response.data}\n );\n }\n}\n\nRouter.add_page(FonmixReportsMatch);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/fonmix_reports_match.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-search/b-search.html\"] = require( \"common.web/blocks/b-search/b-search.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\ndependencies[\"../l-fonmix-report-match/l-fonmix-report-match__list.html\"] = require( \"../l-fonmix-report-match/l-fonmix-report-match__list.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report-match/l-fonmix-report-match.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-fonmix-report-match/l-fonmix-report-match.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-search/b-search.html\", false, \"../templates/l-fonmix-report-match/l-fonmix-report-match.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bSearch\")) {\nvar t_6 = t_3.bSearch;\n} else {\ncb(new Error(\"cannot import 'bSearch'\")); return;\n}\ncontext.setVariable(\"bSearch\", t_6);\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-fonmix-report-match/l-fonmix-report-match.html\", false, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\nt_7.getExported(function(t_9,t_7) {\nif(t_9) { cb(t_9); return; }\nif(t_7.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_10 = t_7.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_10);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_12,t_11) {\nif(t_12) { cb(t_12); return; }\noutput += t_11;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n\\n
\\n
\\n
Сопоставление отчетов FonMix
\\n \\n
\\n
\\n Несопоставленных объектов: \";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"count_all\"), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 18, colno = 12, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bSearch\"), \"bSearch\", context, [{\"class\": \"l-fonmix-report-match__search\",\"data-get-params\": 1},{\"placeholder\": \"Поиск по названию файла, исполнителю\",\"value\": runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"query\")),\"search\")}])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-fonmix-report-match/l-fonmix-report-match.html\", null, function(t_15,t_13) {\nif(t_15) { cb(t_15); return; }\nt_13.render(context.getVariables(), frame, function(t_16,t_14) {\nif(t_16) { cb(t_16); return; }\noutput += t_14\noutput += \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \";\nenv.getTemplate(\"../l-fonmix-report-match/l-fonmix-report-match__list.html\", false, \"../templates/l-fonmix-report-match/l-fonmix-report-match.html\", null, function(t_19,t_17) {\nif(t_19) { cb(t_19); return; }\nt_17.render(context.getVariables(), frame, function(t_20,t_18) {\nif(t_20) { cb(t_20); return; }\noutput += t_18\noutput += \"\\n \\n
\\n
\\n Название\\n
\\n
\\n
\\n Музыка\\n
\\n
\\n
\\n Текст\\n
\\n
\\n
\\n Исполнитель\\n
\\n
\\n
\\n Изготовитель\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\";\ncb(null, output);\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report-match/l-fonmix-report-match.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report-match/l-fonmix-report-match.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-fonmix-report-match/l-fonmix-report-match__list.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nframe = frame.push();\nvar t_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"tracks\")),\"fonmixreport_tracks\");\nif(t_3) {var t_2 = t_3.length;\nfor(var t_1=0; t_1 < t_3.length; t_1++) {\nvar t_4 = t_3[t_1];\nframe.set(\"item\", t_4);\nframe.set(\"loop.index\", t_1 + 1);\nframe.set(\"loop.index0\", t_1);\nframe.set(\"loop.revindex\", t_2 - t_1);\nframe.set(\"loop.revindex0\", t_2 - t_1 - 1);\nframe.set(\"loop.first\", t_1 === 0);\nframe.set(\"loop.last\", t_1 === t_2 - 1);\nframe.set(\"loop.length\", t_2);\noutput += \"\\n\\n\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"name\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_music\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"author_text\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"performer\"), env.opts.autoescape);\noutput += \"\\n \";\noutput += runtime.suppressValue(runtime.memberLookup((t_4),\"publisher\"), env.opts.autoescape);\noutput += \"\\n \\n Сопоставить\\n \\n\\n\";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-fonmix-report-match/l-fonmix-report-match__list.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-fonmix-report-match/l-fonmix-report-match__list.html","import template from '../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html'\nimport progress_modal_template from '../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__modal.html'\nimport Controller from './main'\nimport Router from 'blocko/router'\nimport cloud from '../images/cloud.svg'\nimport {get, post, parse_json, get_widget, attach_event} from 'blocko/helpers'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\nconst EXPORT_INFO = {\n export_modal: undefined,\n process_started: false,\n task_id: undefined,\n task_completed: false,\n task_success: false,\n error_message: undefined\n}\n\nclass ReportingFonmixStatistics extends Controller {\n\n static get route() {\n return '/reporting_fonmix_statistics/';\n }\n\n constructor () {\n super();\n super.render_page(template, {cloud_image: cloud});\n }\n\n init() {\n this.dom = {\n filter_wrapper: document.querySelector('.i-dropdown_filter'),\n filter: document.querySelector('.l-reporting-fonmix-statistics__filter__form'),\n input_rightholder: document.querySelector('.l-reporting-fonmix-statistics__filter__form__rightholder__name'),\n input_rightholder_id: document.querySelector('.l-reporting-fonmix-statistics__filter__form__rightholder__id'),\n file_input: document.querySelector('.l-reporting-fonmix-statistics__filter__form__file__input'),\n filename: document.querySelector('.l-reporting-fonmix-statistics__filter__form__filename'),\n export_button: document.querySelector('.l-reporting-fonmix-statistics__filter__form__export-button')\n };\n\n if (this.dom.filter) {\n this.filter_widget = get_widget(document.querySelector('.l-reporting-fonmix-statistics__filter__form'), 'bDropdownFilter');\n }\n\n this.dom.filter_wrapper.classList.add('l-reporting-fonmix-statistics__filter');\n\n this.b_input_rightholder = get_widget(this.dom.input_rightholder, 'bInput');\n\n this._bind()\n }\n\n _bind () {\n this.dom.file_input.addEventListener('change', event => {\n const [file] = event.target.files\n const fileName = file ? file.name : ''\n\n this.dom.filename.textContent = fileName\n })\n\n this.b_input_rightholder.attach('suggest_click', index => {\n this.dom.input_rightholder_id.value = this.righolders_id_list[index].id;\n this.dom.input_rightholder_id.setAttribute('data-alt-value', this.righolders_id_list[index].name);\n this.dom.input_rightholder.setAttribute('placeholder', this.righolders_id_list[index].name);\n });\n\n this.dom.input_rightholder.addEventListener('input', event => {\n let value = event.currentTarget.value;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 2) {\n this.search_timer = setTimeout(() => {\n post('/api/proxy/rms/api/red/contragent/list', {name_inner_like: value}, response => {\n const { success, data: { contragent_list } } = parse_json(response);\n \n if (success) {\n this.righolders_id_list = contragent_list\n .map(({id, name_inner}) => ({id, name: name_inner}));\n\n this.b_input_rightholder.create_suggest(\n contragent_list.map(({name_inner}) => name_inner),\n 'search-rightholder-suggest'\n );\n }\n });\n }, 300);\n } else {\n this.dom.input_rightholder_id.value = '';\n this.dom.input_rightholder_id.removeAttribute('data-alt-value');\n }\n });\n\n this.filter_widget.attach('submit', widget => {\n const convertDateStr = dateStr => dateStr.split('.')\n .reverse()\n .join('-');\n\n const makeData = ({rightholder_id, date_begin, date_end, file}) => ({\n rightholder_id,\n file,\n date_begin: convertDateStr(date_begin),\n date_end: convertDateStr(date_end)\n });\n\n this._create_export_process_modal(\n makeData(widget.form.dict)\n );\n });\n }\n \n /**\n * Создание модалки и запуск процесса слежения за статусом экспорта\n * @private\n */\n _create_export_process_modal(data) {\n if(EXPORT_INFO.process_started) {\n return EXPORT_INFO.export_modal.show();\n }\n EXPORT_INFO.process_started = true;\n EXPORT_INFO.task_completed = false;\n\n this._make_export_task(data);\n\n if (!EXPORT_INFO.export_modal) {\n let template = this.render(progress_modal_template, {\n data: {\n process: true\n }})\n EXPORT_INFO.export_modal = new iModal(template, {\n strict_hide: true\n });\n } else {\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: true\n }})\n )\n }\n EXPORT_INFO.export_modal.dom.box.classList.add('l-reporting-fonmix-statistics__modal-body');\n EXPORT_INFO.export_modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n EXPORT_INFO.export_modal.hide();\n EXPORT_INFO.task_completed = true\n })\n EXPORT_INFO.export_modal.show();\n }\n\n /**\n * Создание и слежение за задачай процесса экспорта\n * @private\n */\n _make_export_task(data) {\n data = Object.assign({ action: 'reporting_by_recipients'}, data);\n\n const showErrorMessage = message => {\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: false,\n success: false,\n message: message\n }\n }));\n\n EXPORT_INFO.export_modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n EXPORT_INFO.export_modal.hide();\n EXPORT_INFO.task_completed = true;\n })\n };\n\n post(\n '/api/red/task/add',\n data,\n response => {\n response = parse_json(response);\n if (response.success === 1) {\n EXPORT_INFO.task_id = response.data.task.id;\n let activeTask = setInterval(() => {\n\n if(EXPORT_INFO.task_completed) {\n clearInterval(activeTask);\n return\n }\n this._check_export_task_status();\n }, 3000)\n } else {\n showErrorMessage(response.errfields.errmess);\n }\n },\n () => showErrorMessage('Произошла ошибка. Попробуйте повторить операцию позднее.')\n )\n }\n\n /**\n * Проверка исполнения таски\n * @private\n */\n _check_export_task_status() {\n get('/api/red/task/get', {id: EXPORT_INFO.task_id}, response => {\n response = parse_json(response);\n if(response.success === 1) {\n let task = response.data.task;\n if (task.status > 2) {\n EXPORT_INFO.task_completed = true;\n /* Если получен статус 3 - то все успешно - показываем ссылку на файл */\n if (task.status === 3) {\n EXPORT_INFO.task_success = true;\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: false,\n success: EXPORT_INFO.task_success,\n link: task.result.link\n }\n }))\n }\n /* если получен статус 4 – то опрос надо останавливать и выводить ошибку . */\n if (task.status === 4) {\n EXPORT_INFO.task_success = false;\n EXPORT_INFO.error_message = task.status_name;\n EXPORT_INFO.export_modal.change_body(this.render(progress_modal_template, {\n data: {\n process: false,\n success: EXPORT_INFO.task_success,\n message: EXPORT_INFO.error_message\n }\n }))\n }\n EXPORT_INFO.export_modal.dom.box.querySelector('.b-modal__close').addEventListener('click', () => {\n EXPORT_INFO.export_modal.hide();\n EXPORT_INFO.task_completed = true\n })\n EXPORT_INFO.process_started = false;\n }\n }\n })\n }\n}\n\nRouter.add_page(ReportingFonmixStatistics);\n\n\n\n// WEBPACK FOOTER //\n// ./source/controllers/reporting_fonmix_statistics.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\ndependencies[\"common.web/blocks/b-layout/b-layout.html\"] = require( \"common.web/blocks/b-layout/b-layout.html\" );\ndependencies[\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\"] = require( \"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\" );\ndependencies[\"../l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html\"] = require( \"../l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html\" );\ndependencies[\"common.web/blocks/b-filter-values/b-filter-values.html\"] = require( \"common.web/blocks/b-filter-values/b-filter-values.html\" );\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nenv.getTemplate(\"common.web/blocks/b-layout/b-layout.html\", true, \"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\", false, function(t_2,_parentTemplate) {\nif(t_2) { cb(t_2); return; }\nparentTemplate = _parentTemplate\nfor(var t_1 in parentTemplate.blocks) {\ncontext.addBlock(t_1, parentTemplate.blocks[t_1]);\n}\noutput += \"\\n\";\nenv.getTemplate(\"common.web/blocks/b-dropdown-filter/b-dropdown-filter.html\", false, \"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\", false, function(t_4,t_3) {\nif(t_4) { cb(t_4); return; }\nt_3.getExported(function(t_5,t_3) {\nif(t_5) { cb(t_5); return; }\nif(t_3.hasOwnProperty(\"bDropdownFilter\")) {\nvar t_6 = t_3.bDropdownFilter;\n} else {\ncb(new Error(\"cannot import 'bDropdownFilter'\")); return;\n}\ncontext.setVariable(\"bDropdownFilter\", t_6);\noutput += \"\\n\\n\";\n(parentTemplate ? function(e, c, f, r, cb) { cb(\"\"); } : context.getBlock(\"content\"))(env, context, frame, runtime, function(t_8,t_7) {\nif(t_8) { cb(t_8); return; }\noutput += t_7;\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n})})})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nfunction b_content(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\noutput += \"\\n
\\n
Статистика по FonMix
\\n
\\n
\\n \";\noutput += runtime.suppressValue((lineno = 8, colno = 29, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"bDropdownFilter\"), \"bDropdownFilter\", context, [\"Фильтры\",\"filter\",runtime.makeKeywordArgs({\"caller\": (function (){var macro_t_9 = runtime.makeMacro(\n[], \n[], \nfunction (kwargs) {\nframe = frame.push(true);\nkwargs = kwargs || {};\nif (kwargs.hasOwnProperty(\"caller\")) {\nframe.set(\"caller\", kwargs.caller); }\nvar t_10 = \"\";env.getTemplate(\"../l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html\", false, \"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\", null, function(t_13,t_11) {\nif(t_13) { cb(t_13); return; }\nt_11.render(context.getVariables(), frame, function(t_14,t_12) {\nif(t_14) { cb(t_14); return; }\nt_10 += t_12\n})});\nframe = frame.pop();\nreturn new runtime.SafeString(t_10);\n});\nreturn macro_t_9;})()})])), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \";\nenv.getTemplate(\"common.web/blocks/b-filter-values/b-filter-values.html\", false, \"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\", null, function(t_17,t_15) {\nif(t_17) { cb(t_17); return; }\nt_15.render(context.getVariables(), frame, function(t_18,t_16) {\nif(t_18) { cb(t_18); return; }\noutput += t_16\noutput += \"\\n
\\n
\\n
\\n\";\ncb(null, output);\n})});\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nb_content: b_content,\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\\n
\\n
\\n
Получатель
\\n \\n \\n
\\n
\\n
Период расчёта с
\\n \\n
\\n
\\n
\\n
Период расчёта по
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n Экспортировать отчет\\n \\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__filter.html","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n Выгрузка отчетов\\n
\\n
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"process\") == true) {\noutput += \"\\n
Начал создаваться...\\n \";\n;\n}\nelse {\noutput += \"\\n
Завершено
\\n
\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"success\")) {\noutput += \"\\n Начисления на правообладателей\\n \";\n;\n}\nelse {\noutput += \"\\n
\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"data\")),\"message\"), env.opts.autoescape);\noutput += \"
\\n \";\n;\n}\noutput += \"\\n
\\n \";\n;\n}\noutput += \"\\n
\\n
\\n\\n\\n\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/l-reporting-fonmix-statistics/l-reporting-fonmix-statistics__modal.html","import {each} from 'blocko/helpers'\n\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport Widget from 'blocko/widget'\n\n\nclass bTab extends Widget {\n\n constructor(node) {\n super(node);\n\n let query_body = node.getAttribute('data-body') || '.b-tab__blocks';\n let body = document.body.querySelector(query_body);\n let box = null;\n\n\n if (!node || !node.children.length) {\n return;\n }\n\n\n let active = 0;\n\n\n each(node.children, (item, index) => {\n if (item.classList.contains('b-tab__button_active')) {\n active = index;\n }\n });\n\n\n new iTab({\n buttons: node.children,\n boxes: body.children,\n button_active_class: 'b-tab__button_active',\n active: active\n }).attach('CHANGE', (event, instance) => {\n this.dispatch('CHANGE', [instance]);\n });\n }\n}\n\n\nmodule.exports = Widget.init('.b-tab', bTab);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-tab/b-tab.js","import {each, create_widget} from './helpers'\n\nimport Controller from './controller'\nimport Events from './events';\n\n\nexport default class Widget extends Events {\n\n constructor(node) {\n super();\n\n this.context = {};\n this.node = node;\n\n if (node) {\n create_widget(node, this);\n }\n }\n\n\n /**\n * Рендер шаблона\n * @param template\n * @param context\n * @returns {*}\n */\n render(template, context={}) {\n return render.apply({}, arguments);\n }\n\n\n /**\n * Обнуление контекста\n */\n flush() {\n this._context = {};\n }\n\n\n /**\n * Создание инстанса виджета\n * @param query\n * @param instance\n * @returns {Function}\n */\n static init(query, instance) {\n return function (parent) {\n each(parent.querySelectorAll(query), function (item) {\n\n let exist = false;\n each(item.__list_widget__, function (widget) {\n if (widget instanceof instance) {\n exist = true;\n return false;\n }\n });\n\n if (!exist) {\n new instance(item);\n }\n });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widget.js","import Widget from 'blocko/widget'\nimport iForm from 'blocko/widgets/i-form/i-form'\n\nclass bForm extends Widget {\n\n constructor(node) {\n super(null);\n new iForm(node);\n }\n}\n\nmodule.exports = Widget.init('form', bForm);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-form/b-form.js","import {each, create_widget, attach_event, get_widgets} from '../../helpers'\nimport {create_square, parse_square} from '../../functions/sueare'\nimport Events from '../../events'\nimport iFormField from '../i-form-field/i-form-field'\nimport bInput from '../b-input/b-input'\n\n\nexport default class iForm extends Events{\n\n constructor(parent_node, params={}) {\n super();\n\n create_widget(parent_node, this);\n\n this._params = Object.assign({}, params);\n this._parent = parent_node;\n this._fields = [];\n this._is_valid = null;\n\n\n this.make();\n }\n\n\n /**\n * Получение статуса валидации\n * @returns {null|boolean|*|is_valid}\n */\n get is_valid() {\n return this._is_valid;\n }\n\n\n /**\n * Получение всех филдов внутри формы\n * @returns {Array}\n */\n get fields() {\n return this._fields;\n }\n\n\n /**\n * Получить форму в виде объекта\n */\n get dict() {\n let result = {};\n each(this._fields, item => {\n if (item.node.name) {\n if (['checkbox', 'radio'].includes(item.node.type)) {\n if (item.node.checked) {\n create_square(result, item.node.name, item.node.value);\n } else {\n create_square(result, item.node.name, '');\n }\n } else if (item.node.type === 'file') {\n if (item.node.files.length) {\n create_square(result, item.node.name, item.node.files[0]);\n }\n } else {\n create_square(result, item.node.name, item.node.value);\n }\n }\n });\n return result;\n }\n\n\n /**\n * Собрать все элементы формы\n */\n make() {\n let fields = this._parent.querySelectorAll('input, select, textarea, button');\n\n this._fields = [];\n\n each(fields, item => {\n let field_instance = false;\n each(get_widgets(item), widget => {\n if (widget.constructor.name === 'iFormField') {\n field_instance = widget;\n }\n });\n\n if (!field_instance) {\n field_instance = new iFormField(item);\n }\n\n this._fields.push({\n node: item,\n widget: field_instance\n });\n });\n }\n\n\n /**\n * Валидация формы\n * @returns {boolean}\n */\n validate() {\n let is_valid = true;\n each(this._fields, item => {\n if (item.widget.validate) {\n if (!item.widget.validate()) {\n is_valid = false;\n }\n }\n });\n\n return this._is_valid = is_valid;\n }\n\n\n /**\n * Обнуление формы\n */\n reset() {\n each(this._fields, item => {\n if (item.widget.reset) {\n item.widget.reset();\n }\n });\n }\n\n\n /**\n * Сброс сообщений об ошибке в форме\n */\n clear_error_message() {\n each(this._fields, item => {\n item.node.classList.remove('error-field');\n item.widget.remove_error_message();\n });\n }\n\n\n /**\n * Отправка формы\n */\n submit() {\n this.validate();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-form/i-form.js","/**\n * https://github.com/dominicbarnes/square\n */\n\nexport function parse_square (name) {\n return name.split(/[\\.\\[]+/g).map(function(part) {\n part = part.replace(/\\]$/, \"\");\n\n if (!part) return false;\n\n if (/^\\d+$/.test(part)) return parseInt(part, 10);\n\n return part;\n });\n};\n\nexport function create_square (o, key, value) {\n if (!o) o = {};\n\n return parse_square(key).reduce(function(acc, branch, x, branches) {\n if (x + 1 < branches.length) {\n var nextKey = branches[x + 1];\n\n if (branch === false) {\n var temp = acc[acc.length - 1];\n\n if (!temp || branchesExist(temp, branches.slice(x + 1))) {\n temp = {};\n acc.push(temp);\n }\n\n return temp;\n } else {\n if (!(branch in acc)) {\n acc[branch] = (nextKey === false || typeof nextKey === \"number\") ? [] : {};\n }\n\n return acc[branch];\n }\n } else {\n if (branch === false) {\n acc.push(value);\n } else {\n acc[branch] = value;\n }\n\n return o;\n }\n }, o);\n};\n\nfunction branchesExist(o, branches) {\n var current = o;\n return branches.every(function(branch) {\n if (branch in current) {\n current = current[branch];\n return true;\n } else {\n return false;\n }\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/functions/sueare.js","import {each, create_widget, attach_event} from '../../helpers'\nimport {get_validator, get_error_message} from '../../form-validate'\nimport Events from '../../events'\n\n\nexport default class iFormField extends Events{\n\n constructor(field) {\n super();\n\n create_widget(field, this);\n\n this._field = field;\n this._default_value = this.value();\n this._default_checked_attr = field.hasAttribute('checked') ? field.checked:false;\n this._default_select_one_value = field.selectedIndex;\n this._validators = [];\n\n let timer = 0;\n field.addEventListener('input', event => {\n clearTimeout(timer);\n timer = setTimeout(this.validate.bind(this), 300);\n })\n }\n\n\n /**\n * Получение типа\n * @returns {string}\n */\n get type() {\n return this._field.type.toLowerCase();\n }\n\n\n /**\n * Получениие имени элемента\n * @returns {*}\n */\n get name() {\n return this._field.name;\n }\n\n\n /**\n * Получение ссылки на ноду\n * @returns {*}\n */\n get element() {\n return this._field;\n }\n\n\n /**\n * Установка/Получение значения\n * @param new_value\n * @returns {*}\n */\n value(new_value=false) {\n if (new_value !== false) {\n this._field.value = new_value;\n }\n\n return this._field.value;\n }\n\n\n /**\n * Получение валидаторов\n * @returns {Array}\n */\n get_validators() {\n let validators = this._field.getAttribute('validate');\n if (validators) {\n this._validators = [];\n each(validators.split(','), item => {\n this._validators.push(item.trim());\n });\n }\n\n return this._validators;\n }\n\n\n /**\n * Установка валидаторов\n * @returns {Array}\n */\n set_validators(validators=[]) {\n if (Array.isArray(validators)) {\n this._validators = validators;\n this._field.setAttribute('validate', this._validators.join(','));\n }\n\n return this._validators;\n }\n\n\n /**\n * Валидация филда\n * @returns {boolean}\n */\n validate() {\n let is_valid = true;\n\n this.remove_error_message();\n each(this.get_validators(), key => {\n let validator = get_validator(key);\n\n if (validator && !validator(this.value(), this._field)) {\n is_valid = false;\n\n this.set_error_message(\n this._get_error_message(key) || get_error_message(key)\n );\n\n return false;\n }\n });\n\n this._change_state_validate(is_valid);\n\n return is_valid;\n }\n\n\n /**\n * Установка сообщения об ошибке\n * @param message\n */\n set_error_message(message) {\n this.remove_error_message();\n\n let container = document.createElement('DIV');\n container.innerHTML = message;\n\n container.className = 'error-message';\n this._field.parentNode.insertBefore(container, this._field.nextSibling);\n\n this._change_state_validate(false);\n }\n\n\n /**\n * Удаление всех ошибок\n */\n remove_error_message() {\n let element = this._field;\n while(element = element.nextElementSibling) {\n if (element.tagName) {\n if (!element.classList.contains('error-message')) {\n break;\n } else {\n element.parentNode.removeChild(element);\n }\n }\n }\n }\n\n\n /**\n * Обнуление до базового состояния\n */\n reset() {\n this.value(this._default_value);\n\n if (this.type == 'checkbox' || this.type == 'radio') {\n this._field.checked = this._default_checked_attr;\n } else if (this.type == 'select-one') {\n this._field.selectedIndex = this._default_select_one_value;\n }\n }\n\n\n _change_state_validate(is_valid) {\n if (is_valid) {\n this._field.classList.remove('error-field');\n this.remove_error_message();\n } else {\n this._field.classList.add('error-field');\n }\n }\n\n\n _get_error_message(key) {\n return this._field.getAttribute('data-'+key+'-message');\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-form-field/i-form-field.js","import {each, closest} from '../../helpers'\n\nimport Widget from '../../widget'\nimport iDropdown from '../i-dropdown/i-dropdown'\n\nconst ARROW_DOWN = 40;\nconst ARROW_UP = 38;\nconst ENTER = 13;\nconst ESC = 27;\nconst TAB = 9;\n\n\n/**\n * EVENTS: suggest_choose\n */\nclass bInput extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n widget: node\n };\n\n this.suggest = null;\n this.suggest_list = [];\n\n /**\n * Флаг, указывающий был ли произведен выбор значиния из предложеных или нет\n * @type {boolean}\n * @private\n */\n this._is_choosed = false;\n\n /**\n * Флаг, указывающий на строгий режим выбора значений (Принимаются только значения из предложеных -\n * остальные удаляются. Устанавливается аттрибутом \"data-strict\")\n * @type {boolean}\n */\n this.strict_input = !!node.getAttribute('data-strict');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.widget.addEventListener('keydown', this._event_keydown.bind(this));\n this.dom.widget.addEventListener('change', this._suggest_choose.bind(this));\n if (this.strict_input) {\n this.dom.widget.addEventListener('blur', this._lost_focus.bind(this));\n }\n document.addEventListener('click', this._click_outside.bind(this));\n }\n\n\n /**\n * Событие нажатия клавиши при фокусе\n * @param event\n * @private\n */\n _event_keydown(event) {\n if (this.suggest_list.length && this.suggest.status) {\n if (event.keyCode === ARROW_DOWN) {\n event.preventDefault();\n this._suggest_down();\n\n } else if (event.keyCode === ARROW_UP) {\n event.preventDefault();\n this._suggest_up();\n\n } else if (event.keyCode === ENTER) {\n event.preventDefault();\n this._suggest_choose();\n\n } else if (event.keyCode === ESC) {\n this.suggest.hide();\n } else if (event.keyCode === TAB) {\n if (this.strict_input && !this._is_choosed) {\n this.value('');\n }\n this.suggest.hide();\n }\n }\n }\n\n\n /**\n * Выбор из списка\n * @private\n */\n _suggest_choose() {\n let current = this._current_suggest();\n\n if (this.suggest && Number.isInteger(current)) {\n this.suggest.body.children[current].click();\n }\n this.dispatch('suggest_choose', [current, this]);\n }\n\n\n /**\n * Нажатая стрелка вверх\n * @private\n */\n _suggest_up() {\n let current = this._current_suggest();\n let next = 0;\n\n if (current !== null) {\n next = current <= 0 ? this.suggest.body.children.length -1 : current -1;\n }\n\n this.suggest.body.children[next].classList.add('b-input-suggest_active');\n }\n\n\n /**\n * Нажатая стрелка вниз\n * @private\n */\n _suggest_down() {\n let current = this._current_suggest();\n let next = 0;\n\n if (current !== null) {\n next = current >= this.suggest.body.children.length -1 ? 0 : current +1;\n }\n\n this.suggest.body.children[next].classList.add('b-input-suggest_active');\n }\n\n\n /**\n * Получение выделенного элемента списка\n * @returns {*}\n * @private\n */\n _current_suggest() {\n let current = null;\n if (this.suggest) {\n each(this.suggest.body.children, function (item, index) {\n if (item.classList.contains('b-input-suggest_active')) {\n item.classList.remove('b-input-suggest_active');\n current = index;\n }\n });\n }\n return current;\n }\n\n\n /**\n * Клик по элементу списка\n * @param index\n * @param event\n * @private\n */\n _event_click_suggest(index, event) {\n this._is_choosed = true;\n this.value(this.suggest_list[index]);\n this.suggest.hide();\n this.dispatch('suggest_click', [index, this]);\n }\n\n\n /**\n * Эвент потери фокуса\n * @private\n */\n _lost_focus() {\n /*if (this.suggest && !this._is_choosed) {\n setTimeout(function () {\n this.dispatch('suggest_clear', [this]);\n\n this.suggest.hide()\n }.bind(this), 500);\n }*/\n }\n\n\n /**\n * Клик за пределами виджета\n * @param event\n * @private\n */\n _click_outside(event) {\n if (!closest(event.target, '.b-input-suggest') && this.suggest) {\n if (this.strict_input && !this._is_choosed) {\n this.value('');\n }\n this.suggest.hide();\n }\n }\n\n\n /**\n * Создание выпадающего списка\n * @param suggest_list\n * @param class_name\n */\n create_suggest(suggest_list, class_name) {\n this._is_choosed = false;\n if (!this.suggest) {\n this.suggest = new iDropdown(this.dom.widget);\n\n if(class_name) {\n this.suggest.modifier(class_name);\n }\n }\n\n if(suggest_list.length <= 0) {\n this.suggest.hide();\n return;\n }\n this.suggest_list = suggest_list;\n let box = document.createDocumentFragment();\n\n suggest_list.forEach(function (item, index) {\n let node = document.createElement('DIV');\n\n node.className = 'b-input-suggest';\n node.appendChild(document.createTextNode(item));\n\n node.addEventListener('click', this._event_click_suggest.bind(this, index));\n\n box.appendChild(node);\n }.bind(this));\n\n this.suggest.change_body(box);\n this.suggest.show();\n }\n\n\n /**\n * Получение/установка заначения у инпута\n * @param string\n * @returns {*}\n */\n value(string) {\n if (string !== undefined) {\n this.dom.widget.value = string;\n }\n\n return this.dom.widget.value;\n }\n\n}\n\n\nmodule.exports = Widget.init('.b-input', bInput);\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-input/b-input.js","import {is_element, prepare_content, create_widget} from '../../helpers'\nimport Events from '../../events'\n\n\nexport default class iDropdown extends Events {\n\n constructor(parent_node, parent_body='body', params={}) {\n super();\n\n\n this.dom = {\n parent_node: parent_node,\n box: null,\n parent_body: document.querySelector(parent_body)\n };\n\n this.params = Object.assign({\n width: 'node'\n }, params);\n\n\n /**\n * Статус Открыт/Закрыт дропдаун\n * @type {number}\n * @private\n */\n this._status = 0;\n\n\n this._create();\n\n\n window.addEventListener('resize', this._change_position.bind(this));\n }\n\n\n /**\n * Получение ссылки на DOM элемент\n * @returns {null}\n */\n get box() {\n return this.dom.box;\n }\n\n\n /**\n * Установка модификатора\n * @param name\n */\n modifier(name) {\n this.dom.box.classList.add('i-dropdown_' + name);\n }\n\n\n /**\n * Удаление модификатора\n * @param name\n */\n remove_modifier(name) {\n this.dom.box.classList.remove('i-dropdown_' + name);\n }\n\n /**\n * @private\n */\n _create() {\n this.dom.box = document.createElement('DIV');\n this.dom.box.className = 'i-dropdown';\n this._change_position();\n\n create_widget(this.dom.box, this);\n\n this.dom.parent_body.appendChild(this.dom.box);\n }\n\n\n /**\n * Изменение позиции\n * @private\n */\n _change_position() {\n let position = this.dom.parent_node.getBoundingClientRect();\n\n this.dom.box.style.top = position.bottom + window.pageYOffset + 'px';\n this.dom.box.style.left = position.left + 'px';\n\n let box = this.dom.box.getBoundingClientRect();\n let boxHeight = box.height;\n let inputHeight = position.height;\n let diff = window.innerHeight - position.bottom;\n if (boxHeight > diff) {\n this.dom.box.style.top = position.bottom + window.pageYOffset - boxHeight - inputHeight + 'px';\n }\n\n if (this.params.width === 'node') {\n this.dom.box.style.width = position.width + 'px';\n }\n }\n\n\n /**\n * Изменение содержимого\n * @param node\n */\n change_body(node) {\n if (node instanceof DocumentFragment || is_element(node)) {\n this.dom.box.innerHTML = '';\n this.dom.box.appendChild(node);\n } else {\n this.dom.box.innerHTML = node;\n }\n\n prepare_content(this.dom.box);\n }\n\n\n /**\n * Получение ноды\n * @returns {null}\n */\n get body() {\n return this.dom.box;\n }\n\n\n\n /**\n * Возврящает статус, 1-открыт, 0-закрыт\n * @returns {number}\n */\n get status() {\n return this._status;\n }\n\n\n /**\n * Открыть дропдаун\n */\n show() {\n this.dom.box.classList.add('i-dropdown_show');\n this._status = 1;\n this.dispatch('show', [this])\n this._change_position();\n }\n\n\n /**\n * Скрыть дропдаун\n */\n hide() {\n if (this._status) {\n this._status = 0;\n this.dom.box.classList.remove('i-dropdown_show');\n this.dispatch('hide', [this])\n }\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/i-dropdown/i-dropdown.js","import {is_element, attach_event, create_widget, get_widget, has_widget} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass bModal extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bModal') !== null) {\n return;\n }\n\n super(node);\n\n\n this.hash = node.getAttribute('href');\n let script = document.querySelector(this.hash);\n\n /**\n * Ссылка на функцию this._change_window_hash\n */\n this.change_window_hash_reference = this._change_window_hash.bind(this);\n\n if (is_element(script)) {\n /**\n * Проверяем имеется ли уже модальное окно\n */\n this.modal = get_widget(script, 'iModal');\n\n if (this.modal === null) {\n /**\n * Если нет создаем новый инстанс\n * и добавляем его к скрипту\n * @type {iModal}\n */\n this.modal = new iModal(script.innerHTML, {\n node_link: script,\n strict_hide: true\n });\n\n\n /**\n * Добавляем события на модалку\n */\n this._change_window_hash();\n window.addEventListener(\"hashchange\", this.change_window_hash_reference);\n\n attach_event(this.modal.element.querySelectorAll('.b-modal__close'), 'click', item => {\n this.modal.hide();\n });\n\n this.modal.attach('hide', event => {\n if (window.location.hash == this.hash) {\n window.location.hash = '';\n }\n });\n }\n\n node.addEventListener('click', event => {\n this.modal.show();\n });\n }\n }\n\n\n _change_window_hash() {\n if (window.location.hash === this.hash) {\n this.modal.show();\n } else if (!window.location.hash) {\n this.modal.hide();\n }\n }\n\n\n destructor() {\n window.removeEventListener(\"hashchange\", this.change_window_hash_reference);\n }\n}\n\n\nmodule.exports = Widget.init('.b-modal', bModal);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-modal/b-modal.js","import {is_element, attach_event, get_widget, closest} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\nimport iDropdown from 'blocko/widgets/i-dropdown/i-dropdown'\n\n\nclass bDropdown extends Widget {\n constructor(node) {\n super(node);\n\n this.hash = node.getAttribute('href');\n this.parent_body = undefined;\n\n if(node.hasAttribute('data-body')) {\n this.parent_body = node.getAttribute('data-body');\n }\n\n let script = document.querySelector(this.hash);\n\n this._dropdown = new iDropdown(node, this.parent_body, {width: 'auto'});\n\n this.node = node;\n\n if (is_element(script)) {\n this._dropdown.change_body(script.innerHTML);\n this._dropdown.modifier(script.id);\n\n\n attach_event(this._dropdown.body.querySelectorAll('.b-dropdown__close'), 'click', event => {\n this._dropdown.hide();\n });\n\n\n node.addEventListener('click', function () {\n if (this._dropdown.status) {\n this._dropdown.hide();\n } else {\n this._dropdown.show();\n }\n }.bind(this));\n }\n\n this._bind();\n }\n\n destructor() {\n document.removeEventListener('click', this._click_outside.bind(this));\n }\n\n _bind() {\n document.addEventListener('click', this._click_outside.bind(this));\n }\n\n _click_outside(event) {\n if (!closest(event.target, '.i-dropdown') && !this.node.contains(event.target)) {\n this._dropdown.hide();\n }\n }\n\n\n get dropdown() {\n return this._dropdown;\n }\n}\n\n\nmodule.exports = Widget.init('.b-dropdown', bDropdown);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown/b-dropdown.js","import button_template from '../b-filter-values/b-filter-values_button-template.html';\n\nimport Widget from 'blocko/widget'\nimport {each, get_widget, get_widgets, closest} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\nimport render from 'blocko/functions/render'\n\n\nclass bDropdownFilter extends Widget {\n constructor(node) {\n super(node);\n\n this.dom = {\n form: node,\n submit_button: node.querySelector('.b-dropdown-filter__submit'),\n reset_button: undefined,\n values_wrap: undefined,\n values_result: undefined,\n values_buttons: undefined\n };\n\n let filter_values_wrap_class = node.getAttribute('data-values-body');\n\n if (filter_values_wrap_class) {\n this.dom.values_wrap = document.querySelector(filter_values_wrap_class + ' .b-filter-values__wrap');\n this.dom.values_result = document.querySelector(filter_values_wrap_class + ' .b-filter-values__result');\n this.dom.values_buttons = document.querySelector(filter_values_wrap_class + ' .b-filter-values__buttons');\n this.dom.reset_button = document.querySelector(filter_values_wrap_class + ' .b-filter-values__reset');\n } else {\n this.dom.values_wrap = document.querySelector('.b-filter-values__wrap');\n this.dom.values_result = document.querySelector('.b-filter-values__result');\n this.dom.values_buttons = document.querySelector('.b-filter-values__buttons');\n this.dom.reset_button = document.querySelector('.b-filter-values__reset');\n }\n\n this.filter_state = 0;\n\n this.form = get_widget(this.dom.form, 'iForm');\n this.set_get_params = node.getAttribute('data-get-params');\n\n this._init();\n }\n\n get state() {\n return this.filter_state;\n }\n\n _init() {\n this.dom.form.addEventListener('submit', this.form_submit.bind(this));\n\n if (this.dom.reset_button) {\n this.dom.reset_button.addEventListener('click', this._event_reset.bind(this));\n }\n\n this.button_count = 0;\n }\n\n _create_button(field) {\n let button = document.createElement('div');\n let button_name = field.node.getAttribute('data-name');\n\n let control_type = field.node.type;\n let action_type = field.node.getAttribute('data-type');\n let valid = false;\n let button_value = null;\n let is_ignored = field.node.getAttribute('data-ignore');\n\n button.className = 'b-filter-values__value';\n button.__widget__ = field.widget;\n\n switch (control_type) {\n case 'hidden':\n case 'button':\n case 'text':\n button_value = field.node.value;\n\n if (field.node.hasAttribute('data-alt-value')) {\n button_value = field.node.getAttribute('data-alt-value');\n }\n\n if (field.node.value) {\n valid = true;\n }\n break;\n case 'select-one':\n let option_index = field.node.selectedIndex;\n\n button_value = field.node.children[option_index].innerText;\n\n if (field.node.children[option_index].value) {\n valid = true;\n }\n break;\n case 'checkbox':\n button_value = field.node.value;\n\n if (field.node.hasAttribute('data-alt-value')) {\n button_value = field.node.getAttribute('data-alt-value');\n }\n\n if (field.node.checked) {\n valid = true;\n }\n break;\n }\n\n if (this.set_get_params) {\n if (valid) {\n add_url_param(field.node.name, field.node.value);\n } else {\n remove_url_param(field.node.name);\n }\n }\n\n if (!valid) {\n return\n }\n\n this.button_count++;\n\n\n if (!is_ignored) {\n button.innerHTML = render(button_template, {name: button_name, value: button_value, type: action_type});\n button.addEventListener('click', this._event_button_click.bind(this));\n return button;\n }\n }\n\n form_submit(event = null, is_dispatch = true) {\n if (event) {\n event.preventDefault();\n }\n\n let fragment = document.createDocumentFragment();\n let is_empty_form = true;\n\n this.form = get_widget(this.dom.form, 'iForm');\n\n if (this.form.validate()) {\n each(this.form.fields, field => {\n if (this._create_button(field)) {\n is_empty_form = false;\n fragment.appendChild(this._create_button(field));\n }\n });\n\n if (this.button_count > 0) {\n\n if (is_empty_form) {\n this.hide_filter_wrap();\n this.filter_state = 0;\n } else {\n this.dom.values_wrap.classList.remove('hidden');\n this.dom.values_buttons.innerHTML = '';\n this.dom.values_buttons.appendChild(fragment);\n this.filter_state = 1;\n }\n\n if (is_dispatch) {\n this.dispatch('submit', [this]);\n }\n }\n }\n }\n\n\n _event_button_click(event) {\n let button = event.currentTarget;\n\n if (closest(event.target, '.i-icon_close')) {\n\n if (button.__widget__ && button.__widget__.reset) {\n button.__widget__.reset();\n this.dom.values_buttons.removeChild(button);\n\n if (this.set_get_params) {\n remove_url_param(button.__widget__.name);\n }\n\n if (button.__widget__.type == 'button') {\n button.__widget__._field.setAttribute('data-alt-value', '');\n button.__widget__._field.innerText = '';\n }\n }\n\n } else if (closest(event.target, '.i-icon_sort')) {\n\n let index = button.__widget__._field.selectedIndex;\n let options = button.__widget__._field.options;\n let asc = button.__widget__._field.value.replace('-', '');\n let desc = '-' + asc;\n\n if (button.__widget__._field.value != desc) {\n options[index].value = desc;\n } else {\n options[index].value = asc;\n }\n }\n\n this._toggle_filter_wrap();\n this.dispatch('change', [this, event]);\n }\n\n _event_reset(event) {\n let button = event.currentTarget;\n\n each(this.form.fields, field => {\n if (field.widget._field.value) {\n field.widget.reset();\n if (this.set_get_params) {\n remove_url_param(field.widget.name);\n }\n }\n\n if (field.widget.type == 'button') {\n\n field.widget._field.setAttribute('data-alt-value', '');\n field.node.innerText = '';\n }\n });\n\n this.hide_filter_wrap();\n this.dom.values_buttons.innerHTML = '';\n this.button_count = 0;\n this.filter_state = 0;\n this.dispatch('click', [this]);\n }\n\n reset_field(name) {\n let button = this.dom.values_buttons.querySelector('[data-name=\"' + name + '\"]');\n\n if (button && this.form.fields) {\n this.dom.values_buttons.removeChild(button);\n\n each(this.form.fields, field => {\n if (field.widget.name == name) {\n if (field.widget.reset) {\n field.widget.reset();\n }\n }\n });\n }\n\n this._toggle_filter_wrap();\n }\n\n _toggle_filter_wrap() {\n if (this.dom.values_buttons.hasChildNodes()) {\n this.dom.values_wrap.classList.remove('hidden');\n this.button_count = 0;\n this.filter_state = 1;\n } else {\n this.dom.values_wrap.classList.add('hidden');\n this.filter_state = 0;\n }\n }\n\n hide_filter_wrap() {\n this.dom.values_wrap.classList.add('hidden');\n }\n\n set_result_count(count, who) {\n this.dom.values_result.innerText = 'Найдено ' + count + ' ' + who;\n }\n\n\n}\n\nmodule.exports = Widget.init('.b-dropdown-filter', bDropdownFilter);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-dropdown-filter/b-dropdown-filter.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values_button-template.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"name\"), env.opts.autoescape);\noutput += \": \";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"value\"), env.opts.autoescape);\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"type\") == \"sort\") {\noutput += \"\\n \\n\";\n;\n}\noutput += \"\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/common.web/blocks/b-filter-values/b-filter-values_button-template.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-filter-values/b-filter-values_button-template.html","import Widget from 'blocko/widget'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\n\nclass bSearch extends Widget {\n constructor(node) {\n super(node);\n\n this.dom = {\n clear: node.querySelector('.b-search__clear'),\n input: node.querySelector('.b-search__input')\n };\n\n this.set_get_params = node.getAttribute('data-get-params');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.clear.addEventListener('click', this._clear_input.bind(this));\n this.dom.input.addEventListener('input', this._show_button.bind(this));\n }\n\n\n _clear_input() {\n this.dom.input.value = \"\";\n this.dom.clear.classList.add('hidden');\n\n if (this.set_get_params) {\n remove_url_param(this.dom.input.name);\n }\n\n this.dispatch('click', [this]);\n }\n\n\n _show_button() {\n if (this.dom.input.value.length > 0) {\n this.dom.clear.classList.remove('hidden');\n } else {\n this.dom.clear.classList.add('hidden');\n if (this.set_get_params) {\n remove_url_param(this.dom.input.name);\n }\n }\n\n if (this.set_get_params) {\n add_url_param(this.dom.input.name, this.dom.input.value);\n }\n\n this.dispatch('input', [this]);\n }\n}\n\nmodule.exports = Widget.init('.b-search', bSearch);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-search/b-search.js","import Widget from 'blocko/widget'\n\n/**\n * Кнопка сабмита. Предотвращение двойного надатия + спиннер\n */\nclass bButtonSubmit extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n node: node,\n spinner: document.createElement('span')\n };\n\n this._create_spinner();\n }\n\n\n /**\n * Создает ноду спинера\n * @private\n */\n _create_spinner() {\n this.dom.spinner.classList.add('b-button-submit__load');\n this.dom.spinner.classList.add('hidden');\n this.dom.node.insertAdjacentElement('afterBegin', this.dom.spinner);\n }\n\n\n /**\n * Блокировка кнопки\n */\n block_button() {\n this.dom.node.setAttribute('disabled', 'true');\n this.dom.spinner.classList.remove('hidden');\n }\n\n\n /**\n * Разблокировка кнопки\n */\n unblock_button() {\n this.dom.node.removeAttribute('disabled');\n this.dom.spinner.classList.add('hidden');\n }\n}\n\nmodule.exports = Widget.init('.b-button-submit', bButtonSubmit);\n\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-button-submit/b-button-submit.js","import {get_widget, each, parse_json, post, closest} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\nimport Widget from 'blocko/widget'\n\n\n/**\n * Сортировка по столбцам в таблице. Диспатчит евент клика с активной сортировкой\n *\n * \n *\n * \n *\n * data-sort-type - указываем вид сортировки по умолчанию (asc, desc)\n *\n * data-sort-name - указываем имя поля для запроска к апи\n *\n * data-sort-additional - указываем второстепенные сортировки\n **\n */\n\nclass bTableSort extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bTableSort') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n sort_buttons: node.querySelectorAll('.b-table-sort-item')\n };\n\n this.order_by = undefined;\n\n this.set_get_params = node.getAttribute('data-get-params');\n\n node.addEventListener('click', this._event_sort.bind(this));\n }\n\n /**\n * Эвент клика по шапке таблицы\n * @param event\n * @private\n */\n _event_sort(event) {\n let sort_item = event.target;\n\n if (sort_item.classList.contains('b-table-sort-item')) {\n\n each(this.dom.sort_buttons, (item, index) => {\n if(item != sort_item) {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.remove('b-table-sort-item_desc');\n }\n });\n\n let sort_type = sort_item.getAttribute('data-sort-type');\n let sort_name = sort_item.getAttribute('data-sort-name');\n let additional = sort_item.getAttribute('data-sort-additional');\n let icon = sort_item.querySelector('.sort-icon');\n\n if (sort_type == 'desc') {\n sort_item.classList.remove('b-table-sort-item_asc');\n sort_item.classList.add('b-table-sort-item_desc');\n\n sort_item.setAttribute('data-sort-type', 'asc');\n this.order_by = sort_name + ':asc';\n\n } else if (sort_type == 'asc') {\n sort_item.classList.remove('b-table-sort-item_desc');\n sort_item.classList.add('b-table-sort-item_asc');\n\n sort_item.setAttribute('data-sort-type', 'desc');\n this.order_by = sort_name + ':desc';\n }\n\n if (additional) {\n this.order_by = this.order_by + ',' + additional;\n }\n\n if (this.set_get_params) {\n add_url_param('order_by', this.order_by);\n }\n\n this.dispatch('sort_click', [this]);\n }\n }\n\n /**\n * Смена сортировки на заданную в параметрах.\n * @param name\n * @param type\n */\n manual_sort(name, type) {\n each(this.dom.sort_buttons, item => {\n if (item.getAttribute('data-sort-name') == name) {\n if (type == 'desc') {\n item.classList.remove('b-table-sort-item_desc');\n item.classList.add('b-table-sort-item_asc');\n item.setAttribute('data-sort-type', 'desc');\n } else if (type == 'asc') {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.add('b-table-sort-item_desc');\n item.setAttribute('data-sort-type', 'asc');\n }\n } else {\n item.classList.remove('b-table-sort-item_asc');\n item.classList.remove('b-table-sort-item_desc');\n }\n });\n }\n}\n\nmodule.exports = Widget.init('.b-table-sort', bTableSort);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-table-sort/b-table-sort.js","import template from './b-paginate__inner.html'\nimport render from '../../functions/render'\nimport Widget from '../../widget'\nimport {parse_json} from '../../helpers'\n\n\nclass bPaginate extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n widget: node\n };\n\n this.params = Object.assign({\n page: 0,\n limit: 100,\n size: 0,\n items: 4,\n link: '',\n left_button: '',\n right_button: ''\n }, parse_json(node.getAttribute('data-params')));\n\n\n this._bind();\n }\n\n\n /**\n * События определяются только для виджетов у которых небыло ссылок\n * @private\n */\n _bind() {\n if (this.dom.widget.classList.contains('b-paginate_ajax')) {\n this.dom.widget.addEventListener('click', event => {\n window.scrollTo(0, 0);\n let element = event.target;\n if (element.tagName == 'SPAN') {\n let index = element.getAttribute('data-index');\n\n if (index) {\n this.to(parseInt(index));\n }\n }\n });\n }\n }\n\n\n /**\n * Переключить на заданный индекс\n * @param index\n */\n to(index) {\n this.params.page = index;\n this.reset(this.params);\n this.dispatch('CHANGE', [index, this]);\n }\n\n\n /**\n * Переключить вперед на 1\n */\n next() {\n this.to(this.params.page + 1);\n }\n\n\n /**\n * Переключить назад на 1\n */\n prev() {\n this.to(this.params.page - 1);\n }\n\n\n /**\n * Перерисовать внутрености\n * @param params\n */\n reset(params) {\n this.params = Object.assign(this.params, params);\n this.dom.widget.innerHTML = render(template, {\n params: this.params\n });\n this.dispatch('RESET', [this.params, this]);\n }\n}\n\nmodule.exports = Widget.init('.b-paginate', bPaginate);\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-paginate/b-paginate.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../../node_modules/blocko/widgets/b-paginate/b-paginate__inner.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\nvar t_1;\nt_1 = env.getFilter(\"round\").call(context, (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"size\") / runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"limit\")),0,\"ceil\");\nframe.set(\"pages\", t_1, true);\nif(frame.topLevel) {\ncontext.setVariable(\"pages\", t_1);\n}\nif(frame.topLevel) {\ncontext.addExport(\"pages\", t_1);\n}\noutput += \"\\n\";\nvar t_2;\nt_2 = env.getFilter(\"int\").call(context, (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") / 2));\nframe.set(\"half\", t_2, true);\nif(frame.topLevel) {\ncontext.setVariable(\"half\", t_2);\n}\nif(frame.topLevel) {\ncontext.addExport(\"half\", t_2);\n}\noutput += \"\\n\\n\";\nvar t_3;\nt_3 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + runtime.contextOrFrameLookup(context, frame, \"half\") + 1;\nframe.set(\"end\", t_3, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_3);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_3);\n}\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") < runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1) {\noutput += \"\\n \";\nvar t_4;\nt_4 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1;\nframe.set(\"end\", t_4, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_4);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_4);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") > runtime.contextOrFrameLookup(context, frame, \"pages\")) {\noutput += \"\\n \";\nvar t_5;\nt_5 = runtime.contextOrFrameLookup(context, frame, \"pages\");\nframe.set(\"end\", t_5, true);\nif(frame.topLevel) {\ncontext.setVariable(\"end\", t_5);\n}\nif(frame.topLevel) {\ncontext.addExport(\"end\", t_5);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\\n\";\nvar t_6;\nt_6 = runtime.contextOrFrameLookup(context, frame, \"end\") - (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"items\") + 1);\nframe.set(\"start\", t_6, true);\nif(frame.topLevel) {\ncontext.setVariable(\"start\", t_6);\n}\nif(frame.topLevel) {\ncontext.addExport(\"start\", t_6);\n}\noutput += \"\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"start\") < 0) {\noutput += \"\\n \";\nvar t_7;\nt_7 = 0;\nframe.set(\"start\", t_7, true);\nif(frame.topLevel) {\ncontext.setVariable(\"start\", t_7);\n}\nif(frame.topLevel) {\ncontext.addExport(\"start\", t_7);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\\n\";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\")) {\noutput += \"\\n \";\nvar t_8;\nt_8 = \"a\";\nframe.set(\"tag\", t_8, true);\nif(frame.topLevel) {\ncontext.setVariable(\"tag\", t_8);\n}\nif(frame.topLevel) {\ncontext.addExport(\"tag\", t_8);\n}\noutput += \"\\n\";\n;\n}\nelse {\noutput += \"\\n \";\nvar t_9;\nt_9 = \"span\";\nframe.set(\"tag\", t_9, true);\nif(frame.topLevel) {\ncontext.setVariable(\"tag\", t_9);\n}\nif(frame.topLevel) {\ncontext.addExport(\"tag\", t_9);\n}\noutput += \"\\n\";\n;\n}\noutput += \"\\n\\n\";\nif(runtime.contextOrFrameLookup(context, frame, \"end\") > 1) {\noutput += \"\\n\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"left_button\") && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1 > -1) {\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1), env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") - 1, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-button b-button_secondary b-paginate__left-button\\\">\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"left_button\")), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n\\n
\\n \";\nframe = frame.push();\nvar t_12 = (lineno = 34, colno = 23, runtime.callWrap(runtime.contextOrFrameLookup(context, frame, \"range\"), \"range\", context, [runtime.contextOrFrameLookup(context, frame, \"start\"),runtime.contextOrFrameLookup(context, frame, \"end\")]));\nif(t_12) {var t_11 = t_12.length;\nfor(var t_10=0; t_10 < t_12.length; t_10++) {\nvar t_13 = t_12[t_10];\nframe.set(\"i\", t_13);\nframe.set(\"loop.index\", t_10 + 1);\nframe.set(\"loop.index0\", t_10);\nframe.set(\"loop.revindex\", t_11 - t_10);\nframe.set(\"loop.revindex0\", t_11 - t_10 - 1);\nframe.set(\"loop.first\", t_10 === 0);\nframe.set(\"loop.last\", t_10 === t_11 - 1);\nframe.set(\"loop.length\", t_11);\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + t_13, env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(t_13, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-paginate__item\";\noutput += runtime.suppressValue((t_13 == runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\")?\" b-paginate__item_active\":\"\"), env.opts.autoescape);\noutput += \"\\\">\\n \";\noutput += runtime.suppressValue(t_13 + 1, env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\n}\nframe = frame.pop();\noutput += \"\\n
\\n\\n \";\nif(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"right_button\") && runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1 < runtime.contextOrFrameLookup(context, frame, \"pages\")) {\noutput += \"\\n <\";\noutput += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, \"tag\"), env.opts.autoescape);\noutput += \" href=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"link\") + (runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1), env.opts.autoescape);\noutput += \"\\\" data-index=\\\"\";\noutput += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"page\") + 1, env.opts.autoescape);\noutput += \"\\\" class=\\\"b-button b-button_secondary b-paginate__right-button\\\">\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, \"params\")),\"right_button\")), env.opts.autoescape);\noutput += \"\\n \\n \";\n;\n}\noutput += \"\\n\\n\";\n;\n}\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../../node_modules/blocko/widgets/b-paginate/b-paginate__inner.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./~/blocko/widgets/b-paginate/b-paginate__inner.html","import {get_widget, each, parse_json, post} from 'blocko/helpers'\nimport Widget from 'blocko/widget'\n\n\n/**\n * EVENTS\n * submit - Вызывается при сабмите виджета\n * response - Вызывается при получении ответа от сервера\n *\n * data-redirect = False\n */\n\nclass bAjaxForm extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bAjaxForm') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n widget: node,\n default_text: node.querySelector('.b-ajax-form__default-text-error'),\n error: node.querySelector('.b-ajax-form__error'),\n submit_button: node.querySelector('[type=submit]'),\n redirect: false\n };\n\n\n /**\n * Остановливает отправку формы\n * @type {boolean}\n * @private\n */\n this._is_stop = false;\n\n\n /**\n * Остановливает перезагрузку страницы\n * @type {boolean}\n * @private\n */\n this._is_reload = true;\n\n\n /**\n * Виджет кнопки сабмит\n * @type {*}\n */\n this.b_button_submit = get_widget(this.dom.submit_button, 'bButtonSubmit');\n\n\n node.addEventListener('submit', this._event_submit.bind(this));\n }\n\n\n _event_submit(event) {\n event.preventDefault();\n this.clear_error();\n\n let widget_form = get_widget(this.dom.widget, \"iForm\");\n this.dispatch('submit', [this, widget_form]);\n\n if (!this._is_stop && widget_form.validate()) {\n this.b_button_submit.block_button();\n let data = widget_form.dict;\n\n /**\n * Осуществляет предподготовку данных в полях включающих слова \"date\", \"day\", \"duration\"\n */\n each(Object.keys(data), item => {\n if (item.includes('date') || item.includes('day')){\n data[item] = this._to_timestamp(data[item]);\n } else if (item.includes('duration')) {\n data[item] = this._convert_duration(data[item]);\n }\n });\n\n post(this.dom.widget.action, data, response => {\n response = parse_json(response);\n this.dispatch('response', [this, response]);\n\n if (response.success == 1) {\n\n if (this._is_reload) {\n location.hash = '';\n let url = this.dom.widget.getAttribute('data-redirect');\n\n if (url) {\n location.replace(url);\n } else {\n location.reload();\n }\n }\n\n } else {\n this.dispatch('error', [this, response]);\n this.set_error(response.errmess);\n }\n this.b_button_submit.unblock_button();\n })\n }\n }\n\n /**\n * Останавливает отправку запроса\n */\n stop_submit() {\n this._is_stop = true;\n }\n\n\n /**\n * Продолжает отправку запроса если форма валидна\n */\n start_submit() {\n this._is_stop = false;\n }\n\n\n /**\n * Запрещает перезагрузку страницы\n */\n stop_reload() {\n this._is_reload = false;\n }\n\n\n /**\n * Разрешает перезагрузку страницы\n */\n start_reload() {\n this._is_reload = true;\n }\n\n /**\n * Устанавливает ошибку и прирывает отправку запроса\n * @param error_message\n */\n set_error(error_message){\n this.stop_submit();\n if (this.dom.default_text) {\n this.dom.default_text.classList.add('hidden');\n }\n\n if (this.dom.error) {\n this.dom.error.classList.remove('hidden');\n this.dom.error.innerHTML = error_message;\n }\n }\n\n\n /**\n * Удаляет ошибку и разрешает отправку запроса если форма валидна\n */\n clear_error(){\n this.start_submit();\n if (this.dom.default_text) {\n this.dom.default_text.classList.remove('hidden');\n }\n if (this.dom.error) {\n this.dom.error.classList.add('hidden');\n }\n }\n\n\n /**\n * Перевод в timestamp\n */\n _to_timestamp(date) {\n if (date) {\n let new_date = date.split('.');\n new_date.reverse();\n new_date.join('-');\n return new Date(new_date.join('-')).getTime()/1000;\n }\n return ''\n }\n\n\n /**\n * Перевод строки типа 00:00:00 в секунды\n */\n _convert_duration(time) {\n if (time) {\n let time_list = time.split(':');\n let result = 0;\n let seconds_multiplier = 1;\n\n each(time_list.reverse(), item => {\n result += item * seconds_multiplier;\n seconds_multiplier *= 60;\n });\n return result;\n }\n return ''\n }\n}\n\nmodule.exports = Widget.init('.b-ajax-form', bAjaxForm);\n\n\n// WEBPACK FOOTER //\n// ./~/common.web/blocks/b-ajax-form/b-ajax-form.js","import template from '../b-confirm-modal/b-confirm-modal.html'\nimport Widget from 'blocko/widget'\nimport {get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\n/**\n * Модальное окно подтверждения действия. Диспатчит нажатие кнопки согласия и закрытие модального окна\n * Метод change_content() принимает строку и заполняет ей блок контента модального окна\n *\n */\nclass bConfirmModal extends Widget {\n\n constructor(node) {\n if (get_widget(node, 'bConfirmModal') !== null) {\n return;\n }\n\n super(node);\n\n this.dom = {\n node: node,\n confirm_button: undefined,\n cancel_button: undefined,\n content: undefined\n };\n\n this.modal = undefined;\n this.b_button_submit = undefined;\n\n this._create_modal();\n }\n\n\n /**\n * Создание модалки.\n * @private\n */\n _create_modal() {\n let button = this.dom.node;\n this.modal = get_widget(button, 'iModal');\n\n if (this.modal === null) {\n this.modal = new iModal(render(template, {}), {\n node_link: button,\n strict_hide: true\n });\n\n this.dom.confirm_button = this.modal.element.querySelector('.b-confirm-modal__confirm');\n this.dom.cancel_button = this.modal.element.querySelector('.b-confirm-modal__cancel');\n this.dom.content = this.modal.element.querySelector('.b-confirm-modal__content');\n\n this.b_button_submit = get_widget(this.dom.confirm_button, 'bButtonSubmit');\n\n this.dom.cancel_button.addEventListener('click', event => {\n this._cancel_action(event);\n });\n\n this.dom.confirm_button.addEventListener('click', event => {\n this._confirm_action(event);\n });\n }\n }\n\n\n /**\n * Эвент подтверждения действия\n * @param event\n * @private\n */\n _confirm_action(event) {\n this.dispatch('confirm', [event, this]);\n this.modal.hide();\n }\n\n\n /**\n * Эвент закрытия модальноего окна\n * @param event\n * @private\n */\n _cancel_action(event) {\n this.dispatch('cancel', [event, this]);\n this.modal.hide();\n }\n\n\n /**\n * Меняет контент блока\n * @param string\n */\n change_content(string) {\n this.dom.content.innerHTML = string;\n this.modal.show();\n }\n}\n\nmodule.exports = Widget.init('.b-confirm-modal', bConfirmModal);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-confirm-modal/b-confirm-modal.js","var nunjucks = require(\"nunjucks/browser/nunjucks-slim\");\nvar env;\nif (!nunjucks.currentEnv){\n\tenv = nunjucks.currentEnv = new nunjucks.Environment([], { autoescape: true });\n} else {\n\tenv = nunjucks.currentEnv;\n}\nvar configure = require(\"../../../node_modules/blocko/nunjucks.config.js\")(env);\nvar dependencies = nunjucks.webpackDependencies || (nunjucks.webpackDependencies = {});\n\n\n\n\nvar shim = require(\"/home/vois/sro.web/node_modules/nunjucks-loader/runtime-shim\");\n\n\n(function() {(nunjucks.nunjucksPrecompiled = nunjucks.nunjucksPrecompiled || {})[\"../templates/b-confirm-modal/b-confirm-modal.html\"] = (function() {\nfunction root(env, context, frame, runtime, cb) {\nvar lineno = null;\nvar colno = null;\nvar output = \"\";\ntry {\nvar parentTemplate = null;\noutput += \"
\\n
\\n Подтверждение действия\\n
\\n
\\n \";\noutput += runtime.suppressValue(env.getFilter(\"safe\").call(context, runtime.contextOrFrameLookup(context, frame, \"message\")), env.opts.autoescape);\noutput += \"\\n
\\n
\\n \\n \\n
\\n
\\n\";\nif(parentTemplate) {\nparentTemplate.rootRenderFunc(env, context, frame, runtime, cb);\n} else {\ncb(null, output);\n}\n;\n} catch (e) {\n cb(runtime.handleError(e, lineno, colno));\n}\n}\nreturn {\nroot: root\n};\n\n})();\n})();\n\n\n\nmodule.exports = shim(nunjucks, env, nunjucks.nunjucksPrecompiled[\"../templates/b-confirm-modal/b-confirm-modal.html\"] , dependencies)\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-confirm-modal/b-confirm-modal.html","import Widget from 'blocko/widget'\nimport {each, attach_event, get_widget, closest} from 'blocko/helpers'\n\n\nconst MONTHS = [\n 'январь',\n 'февраль',\n 'март',\n 'апрель',\n 'май',\n 'июнь',\n 'июль',\n 'август',\n 'сентябрь',\n 'октябрь',\n 'ноябрь',\n 'декабрь'\n];\n\n\nclass bCalendar extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n months: node.querySelectorAll('.b-dropdown-calendar__month'),\n button_apply: node.querySelector('.b-dropdown-calendar__apply')\n };\n\n this.dropdown = get_widget(closest(node, '.i-dropdown'), 'iDropdown');\n\n this._last_element = null;\n\n this.mode = node.getAttribute('data-mode');\n\n this.dates = [];\n\n this.reset();\n this._bind();\n }\n\n\n _bind() {\n\n attach_event(this.dom.months, 'click', event => {\n let td = event.currentTarget;\n\n if (!td.classList.contains('b-dropdown-calendar__month_active')) {\n return;\n }\n\n if (this.mode) {\n this._check_item(td);\n } else {\n this._check_selected_class(td);\n }\n this._check_current_dates(td);\n this.dispatch('CHANGE', [this.dates]);\n });\n\n\n this.dom.button_apply.addEventListener('click', event => {\n this.dropdown.hide();\n this.dispatch('get_value', [this])\n });\n }\n\n _check_item(element) {\n each(this.dom.months, (item, index) => {\n\n if (!item.classList.contains('b-dropdown-calendar__month_active')) {\n return;\n }\n\n if (element == item) {\n item.classList.add('b-dropdown-calendar__month_selected');\n } else {\n item.classList.remove('b-dropdown-calendar__month_selected');\n }\n });\n }\n\n\n _check_selected_class(element) {\n this._last_element = this._last_element || element;\n\n let from = 0;\n let to = 0;\n\n\n each(this.dom.months, (item, index) => {\n if (this._last_element === item) {\n from = index;\n }\n\n if (item === element) {\n to = index;\n }\n });\n\n if (to < from) {\n let _from = from;\n from = to;\n to = _from;\n }\n\n each(this.dom.months, (item, index) => {\n if (!item.classList.contains('b-dropdown-calendar__month_active')) {\n return;\n }\n\n if (index >= from && index <= to) {\n item.classList.add('b-dropdown-calendar__month_selected');\n } else {\n item.classList.remove('b-dropdown-calendar__month_selected');\n }\n });\n\n this._last_element = element;\n }\n\n\n _check_current_dates() {\n this.dates = [];\n let text = [];\n\n each(this.dom.months, item => {\n if (item.classList.contains('b-dropdown-calendar__month_selected')) {\n let year = parseInt(item.getAttribute('data-year'));\n let month = parseInt(item.getAttribute('data-month'));\n\n this.dates.push(new Date(Date.UTC(year, month, 1, 0, 0, 0)).getTime() / 1000);\n }\n });\n\n if (this.dates.length) {\n text.push(MONTHS[this.dates[0].month] + ' ' + this.dates[0].year);\n\n if (this.dates.length > 1) {\n text.push(MONTHS[this.dates[this.dates.length - 1].month] + ' ' + this.dates[this.dates.length - 1].year);\n }\n }\n }\n\n\n reset() {\n this.dates = [];\n each(this.dom.months, item => {\n item.classList.remove('b-dropdown-calendar__month_selected');\n });\n }\n\n}\n\nmodule.exports = Widget.init('.b-dropdown-calendar', bCalendar);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-dropdown-calendar/b-dropdown-calendar.js","import phonogram_list_item from '../b-phonogram-relay/b-phonogram-relay__phonogram-item.html'\nimport station_list_item from '../b-phonogram-relay/b-phonogram-relay__stations-item.html'\nimport Widget from 'blocko/widget'\nimport {each, attach_event, post, parse_json, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport {get_context} from 'blocko/functions/context'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\n\nclass bPhonogramRelay extends Widget {\n\n constructor(node) {\n super(node);\n this.dom = {\n stations: {\n body: document.querySelector('.b-phonogram-relay__stations'),\n list: document.querySelector('.b-phonogram-relay__stations-list'),\n item: document.querySelectorAll('.b-phonogram-relay__stations-list-item'),\n search: document.querySelector('.b-phonogram-relay__search-station')\n },\n phonograms: {\n table: document.querySelector('.b-phonogram-relay__table'),\n wrap: document.querySelector('.b-phonogram-relay__wrap'),\n body: document.querySelector('.b-phonogram-relay__phonogram-tbody'),\n check_all: document.querySelector('.b-phonogram-relay__phonogram-check-all'),\n check_item: document.querySelectorAll('.b-phonogram-relay__phonogram-check-item'),\n add_button: document.querySelector('.b-phonogram-relay__add-button'),\n search_name: document.querySelector('.b-phonogram-relay__search-name'),\n search_singer: document.querySelector('.b-phonogram-relay__search-singer'),\n search_producer: document.querySelector('.b-phonogram-relay__search-producer'),\n }\n };\n\n this.relay_params = {\n rows: 100,\n page: 1\n };\n this.is_rendered = false;\n this.report_id = undefined;\n this.checked_items = null;\n this.params = get_context('params');\n\n this.station_search_widget = get_widget(this.dom.stations.search, 'bSearch');\n\n this.search_widgets = {\n search_name: get_widget(this.dom.phonograms.search_name, 'bSearch'),\n search_singer: get_widget(this.dom.phonograms.search_singer, 'bSearch'),\n search_producer: get_widget(this.dom.phonograms.search_producer, 'bSearch')\n };\n\n new iTab({\n buttons: this.dom.stations.item,\n boxes: false,\n button_active_class: 'b-phonogram-relay__stations-list-item_active',\n box_hidden_class: 'hidden',\n active: null\n });\n\n this._bind();\n }\n\n\n _bind() {\n\n this.dom.phonograms.wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this.station_search_widget.attach('input', widget => {\n this._station_search(widget);\n });\n\n this.station_search_widget.attach('click', widget => {\n this._station_search(widget);\n });\n\n this.search_widgets.search_name.attach('input', widget => {\n this._phonogram_search(widget);\n });\n\n this.search_widgets.search_name.attach('click', widget => {\n this._get_default(widget);\n });\n\n this.search_widgets.search_singer.attach('input', widget => {\n this._phonogram_search(widget);\n });\n\n this.search_widgets.search_singer.attach('click', widget => {\n this._get_default(widget);\n });\n\n this.search_widgets.search_producer.attach('input', widget => {\n this._phonogram_search(widget);\n });\n\n this.search_widgets.search_producer.attach('click', widget => {\n this._get_default(widget);\n });\n\n this.dom.stations.list.addEventListener('click', event => {\n if (event.target.classList.contains('b-phonogram-relay__stations-list-item')) {\n this._get_tracks(event);\n }\n });\n\n this.dom.phonograms.wrap.addEventListener('click', event => {\n event.stopPropagation();\n\n if (event.target.classList.contains('b-phonogram-relay__phonogram-check-all')) {\n this._check_all(event);\n } else if (event.target.classList.contains('b-phonogram-relay__phonogram-check-item')) {\n this._check_item(event);\n }\n });\n\n this.dom.phonograms.add_button.addEventListener('click', this._add_tracks.bind(this));\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.phonograms.wrap.getBoundingClientRect();\n let scroll_top = this.dom.phonograms.wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.phonograms.table.scrollHeight,\n this.dom.phonograms.table.offsetHeight,\n this.dom.phonograms.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.relay_params.page += 1;\n this.relay_params.report_id = this.report_id;\n\n post('/api/red/report/track/list', this.relay_params, response => {\n response = parse_json(response);\n\n this.dom.phonograms.body.insertAdjacentHTML('beforeEnd', render(phonogram_list_item, {track_list: response.data.track_list}));\n\n if (response.data.track_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _check_all(event) {\n event.stopPropagation();\n\n if (event.target.checked) {\n\n this.dom.phonograms.check_item = document.querySelectorAll('.b-phonogram-relay__phonogram-check-item');\n\n each(this.dom.phonograms.check_item, item => {\n item.checked = true;\n });\n } else {\n each(this.dom.phonograms.check_item, item => {\n item.checked = false;\n });\n }\n\n this.checked_items = document.querySelectorAll('.b-phonogram-relay__phonogram-check-item:checked');\n\n if (this.checked_items.length) {\n this._toggle_elements();\n }\n }\n\n\n _check_item(event) {\n event.stopPropagation();\n\n this.checked_items = document.querySelectorAll('.b-phonogram-relay__phonogram-check-item:checked');\n\n let items_count = document.querySelectorAll('.b-phonogram-relay__phonogram-check-item').length;\n let checked_items_count = this.checked_items.length;\n\n if (checked_items_count == 0) {\n this._toggle_elements();\n this.dom.phonograms.check_all.checked = false;\n } else if (checked_items_count == items_count) {\n this._toggle_elements();\n this.dom.phonograms.check_all.checked = true;\n } else {\n this._toggle_elements('show');\n }\n }\n\n\n _toggle_elements(action) {\n if (this.dom.phonograms.add_button.classList.contains('hidden') || action == 'show') {\n this.dom.phonograms.add_button.classList.remove('hidden');\n } else {\n this.dom.phonograms.add_button.classList.add('hidden');\n }\n }\n\n\n _station_search(widget) {\n let value = widget.dom.input.value;\n let data = Object.assign(this.params, {contragent_name_like: value});\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n\n this._post_data('/api/red/report/list', data, station_list_item, this.dom.stations.list);\n\n }.bind(this), 300);\n\n }\n\n\n _phonogram_search(widget) {\n if(this.report_id) {\n let input_value = widget.dom.input.value;\n let input_name = widget.dom.input.getAttribute('name');\n let data = {};\n\n this.relay_params[input_name] = input_value;\n data['report_id'] = this.report_id;\n\n data = Object.assign(data, this.relay_params, {page: 1});\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this._post_data('/api/red/report/track/list', data, phonogram_list_item, this.dom.phonograms.body);\n }.bind(this), 300);\n }\n }\n\n _get_default(widget) {\n this.relay_params['page'] = 1;\n this.relay_params[widget.dom.input.name] = '';\n\n this._phonogram_search(widget);\n }\n\n\n _post_data(url, data, template, parent) {\n post(url, data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n parent.innerHTML = render(template, response.data);\n }\n });\n }\n\n\n _get_tracks(event) {\n\n this.dom.phonograms.check_all.checked = false;\n this.report_id = event.target.getAttribute('data-id');\n\n if(this.report_id) {\n post('/api/red/report/track/list', {report_id: this.report_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.dom.phonograms.body.innerHTML = render(phonogram_list_item, response.data);\n }\n\n });\n }\n }\n\n\n _add_tracks(event) {\n\n let data = {};\n let track_id = '';\n\n data['report_id'] = get_context('report').report.id;\n\n each(this.checked_items, item => {\n track_id += item.value + ',';\n });\n\n data['id'] = track_id;\n\n post('/api/red/report/track/add', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n}\n\nmodule.exports = Widget.init('.b-phonogram-relay', bPhonogramRelay);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-relay/b-phonogram-relay.js","import modal_phonogram_list from '../b-phonogram-add/b-phonogram-add__content-table-item.html';\nimport modal_add_new_track from '../b-phonogram-add/b-phonogram-add-new-modal.html'\nimport Widget from 'blocko/widget'\nimport {each, attach_event, post, parse_json, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport {get_context} from 'blocko/functions/context'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass bPhonogramAdd extends Widget {\n\n constructor(node) {\n super(node);\n this.dom = {\n table: node.querySelector('.b-phonogram-add__content-table'),\n tbody_td: node.querySelectorAll('.b-phonogram-add__content-table-tbody tr:first-child td'),\n thead_td: node.querySelectorAll('.b-phonogram-add__content-table-thead td'),\n table_tbody: node.querySelector('.b-phonogram-add__content-table-tbody'),\n add_button: node.querySelector('.b-phonogram-add__add-phonogram-button'),\n add_button_counter: node.querySelector('.b-phonogram-add__add-phonogram-button-counter'),\n check_all: node.querySelector('.b-phonogram-add__check-all'),\n check_item: node.querySelectorAll('.b-phonogram-add__check-item'),\n tr_button: node.querySelectorAll('.b-phonogram-add__content-button'),\n tr_box: node.querySelectorAll('.b-phonogram-add__content-box'),\n table_wrap: node.querySelector('.b-phonogram-add__wrap'),\n dropdown_filter: document.querySelector('.b-phonogram-add__filter'),\n dropdown_filter_button: node.querySelector('.b-phonogram-add__filter-button'),\n\n };\n\n this.modal_query_params = {\n rows: 100,\n page: 1\n };\n this.is_rendered = false;\n\n this.modal_search = get_widget(node.querySelector('.b-phonogram-add__search'), 'bSearch');\n this.b_button_submit = get_widget(this.dom.add_button, 'bButtonSubmit');\n\n this._bind();\n }\n\n\n _bind() {\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this.modal_search.attach('input', widget => {\n this._modal_search(widget);\n });\n\n this.modal_search.attach('click', widget => {\n this._modal_get_default(widget);\n });\n\n this.dom.dropdown_filter_button.addEventListener('click', event => {\n this.modal_filter = get_widget(document.querySelector('.b-phonogram-add__filter'), 'bDropdownFilter');\n\n this.modal_filter.attach('submit', widget => {\n this._modal_filter(widget);\n });\n\n this.modal_filter.attach('change', widget => {\n this._modal_filter(widget);\n });\n\n this.modal_filter.attach('click', widget => {\n this._modal_get_default(widget);\n });\n });\n\n this.dom.table.addEventListener('click', event => {\n if (event.target.classList.contains('b-phonogram-add__check-all')) {\n this._modal_check_all(event);\n } else if (event.target.classList.contains('b-phonogram-add__check-item')) {\n this._modal_check_item(event);\n }\n }, true);\n\n this.dom.add_button.addEventListener('click', this._modal_add_phonogrms.bind(this));\n }\n\n\n _show_add_track_modal(event) {\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(render(modal_add_new_track), {\n node_link: event.target,\n strict_hide: true\n });\n }\n\n modal.show();\n\n this.add_new_track_form = get_widget(document.querySelector('.b-ajax-form'), 'bAjaxForm');\n\n this.add_new_track_form.attach('response', (context, response) => {\n if (response.success) {\n this.add_new_track_form.stop_reload();\n\n this.track_id = response.data.item.id;\n\n this.dispatch('add_track', [this]);\n\n } else {\n this.add_new_track_form.set_error(response.errormes);\n }\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.modal_query_params.page += 1;\n\n post('/api/red/track/list', this.modal_query_params, response => {\n response = parse_json(response);\n\n this.dom.table_tbody.insertAdjacentHTML('beforeEnd', render(modal_phonogram_list, {phonogram: response.data}));\n\n if (response.data.item_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _init_tabs() {\n new iTab({\n buttons: document.querySelectorAll('.b-phonogram-add__content-button'),\n boxes: document.querySelectorAll('.b-phonogram-add__content-box'),\n button_active_class: 'b-phonogram-add__content-button_active',\n box_hidden_class: 'hidden',\n active: null,\n is_toggle: true,\n is_multiple: true\n });\n }\n\n\n _modal_check_all(event) {\n event.stopPropagation();\n\n this.dom.check_item = document.querySelectorAll('.b-phonogram-add__check-item');\n\n if (event.target.checked) {\n each(this.dom.check_item, item => {\n item.checked = true;\n });\n\n this._toggle_elements('show');\n } else {\n each(this.dom.check_item, item => {\n item.checked = false;\n });\n\n this._toggle_elements('hide');\n }\n\n this.checked_items = document.querySelectorAll('.b-phonogram-add__check-item:checked');\n }\n\n\n _modal_check_item(event) {\n event.stopPropagation();\n\n this.checked_items = document.querySelectorAll('.b-phonogram-add__check-item:checked');\n\n let items_count = document.querySelectorAll('.b-phonogram-add__check-item').length;\n let checked_items_count = this.checked_items.length;\n\n if (checked_items_count == 0) {\n this._toggle_elements('hide');\n this.dom.check_all.checked = false;\n } else if (checked_items_count == items_count) {\n this._toggle_elements('show');\n this.dom.check_all.checked = true;\n } else {\n this._toggle_elements('show');\n }\n }\n\n\n _toggle_elements(action) {\n if (action == 'show') {\n this.dom.add_button.classList.remove('hidden');\n this.dom.add_button_counter.innerText = document.querySelectorAll('.b-phonogram-add__check-item:checked').length;\n } else {\n this.dom.add_button.classList.add('hidden');\n this.dom.add_button_counter.innerText = '';\n }\n }\n\n\n _modal_search(widget) {\n let value = widget.dom.input.value;\n\n this.modal_query_params['search'] = value;\n this.modal_query_params['page'] = 1;\n\n clearTimeout(this.search_timer);\n\n if (value.length >= 3) {\n this.search_timer = setTimeout(function () {\n this._modal_post_data(this.modal_query_params);\n }.bind(this), 300);\n } else {\n this._modal_get_default();\n }\n }\n\n\n _modal_get_default() {\n this.modal_query_params = {\n rows: 100,\n page: 1\n };\n this.dom.check_all.classList.add('hidden');\n this.dom.table_tbody.innerHTML = '';\n }\n\n\n _modal_filter(widget) {\n this.modal_query_params = Object.assign(this.modal_query_params, widget.form.dict);\n\n this._modal_post_data(this.modal_query_params);\n }\n\n\n _modal_post_data(data) {\n let report = get_context('report');\n\n if (report) {\n report = report.report;\n\n if (report.rightholder_id) {\n data.contragent_id = report.rightholder_id;\n data.date = report.month;\n }\n }\n\n post('/api/red/track/list', data, this._modal_render.bind(this));\n }\n\n\n _modal_render(response) {\n response = parse_json(response);\n\n let result_count = response.success ? response.data.item_list.length : 0;\n\n if (result_count) {\n this.dom.check_all.classList.remove('hidden');\n } else {\n this.dom.check_all.classList.add('hidden');\n }\n\n if (this.modal_filter) {\n this.modal_filter.set_result_count(result_count, 'фонограмм');\n }\n\n this.dom.table_tbody.innerHTML = render(\n modal_phonogram_list, {\n phonogram: response.data || response\n }\n );\n\n attach_event(this.node.querySelector('.b-phonogram-add__add-new'), 'click', this._show_add_track_modal.bind(this));\n\n this._init_tabs();\n }\n\n\n _modal_add_phonogrms(event) {\n\n this.track_id = '';\n\n each(this.checked_items, item => {\n this.track_id += item.value + ',';\n });\n\n this.dispatch('add_track', [this]);\n }\n\n}\n\nmodule.exports = Widget.init('.b-phonogram-add', bPhonogramAdd);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-phonogram-add/b-phonogram-add.js","import Widget from 'blocko/widget'\nimport {post, parse_json, attach_event, each, get_widget, convert_date} from 'blocko/helpers'\nimport {get_context} from 'blocko/functions/context'\n\nclass bReportData extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n combo_item: node.querySelectorAll('.b-combo__item'),\n radio_buttons: node.querySelectorAll('.b-combo input'),\n block_statistic: node.querySelector('.l-report__block-statistic'),\n combo_block: node.querySelector('.b-combo'),\n select_payment: node.querySelector('.b-select__payment-period'),\n show_toggle_balance: node.querySelectorAll('.b-toggle-balance'),\n input_balance: node.querySelector('.b-input_balance'),\n input_balance_view: node.querySelector('.b-input_balance-view'),\n input_balance_confirm: node.querySelector('.b-report-data__summ-edit')\n };\n\n this.combo_button_value = undefined;\n this.report_id = get_context('report').params.id;\n this.report_balance = get_context('report').report.balance;\n\n if (this.dom.input_balance_confirm) {\n this.balance_confirm = get_widget(this.dom.input_balance_confirm, 'bConfirmModal');\n }\n\n if (this.dom.combo_block) {\n this.confirm_modal = get_widget(this.dom.combo_block, 'bConfirmModal');\n }\n\n this._bind();\n }\n\n _bind() {\n\n if (this.dom.combo_item.length) {\n attach_event(this.dom.radio_buttons, 'click', event => {\n this.combo_button_value = event.target.value;\n let status_name = event.target.nextSibling.textContent.trim();\n let num = get_context('report').report.contract_num;\n\n this.confirm_modal.change_content(`Вы действительно хотите перевести документ ${num} в состояние \"${status_name}\"?`);\n });\n\n this.confirm_modal.attach('confirm', (event, widget) => {\n each(this.dom.combo_item, item => {\n item.classList.remove('b-combo__item_active');\n });\n\n this._change_status(event, widget);\n });\n }\n\n if (this.dom.block_statistic) {\n this.dom.block_statistic.addEventListener('change', event => {\n let blocked = 0;\n if (event.target.checked) {\n blocked = 1;\n }\n post('/api/red/report/blocked', {id: this.report_id, is_stat_blocked: blocked});\n });\n }\n\n attach_event(this.dom.show_toggle_balance, 'click', this._show_toggle_input.bind(this));\n attach_event(this.dom.input_balance, 'keyup', this._change_report_summ.bind(this));\n\n attach_event(this.dom.select_payment, 'change', this._change_payment_month_period.bind(this));\n }\n\n _show_toggle_input (event) {\n if(this.dom.input_balance.classList.contains('b-input_balance-active')) {\n this.dom.input_balance.classList.remove('b-input_balance-active');\n this.dom.input_balance_view.classList.add('b-input_balance-active');\n } else {\n this.dom.input_balance.classList.add('b-input_balance-active');\n this.dom.input_balance_view.classList.remove('b-input_balance-active');\n }\n }\n\n _change_report_summ (event) {\n if(event.key === 'Enter') {\n if(!isNaN(this.dom.input_balance.value) && (this.dom.input_balance.value > 0)) {\n this.dom.input_balance.classList.remove('error-field');\n let newSumm = parseFloat(this.dom.input_balance.value);\n this.balance_confirm.change_content(`Вы действительно хотите изменить сумму отчёта?`);\n\n this.balance_confirm.attach('confirm', (event, widget) => {\n post('/api/red/report/balance', {id: this.report_id, balance: newSumm}, response => {\n response = parse_json(response);\n if (response.success) {\n location.reload();\n }\n });\n });\n\n } else {\n this.dom.input_balance.classList.add('error-field');\n }\n } else if (event.key === 'Escape') {\n this._show_toggle_input()\n this.dom.input_balance.value = this.report_balance;\n }\n }\n\n _change_payment_month_period(event){\n\n let id = this.report_id;\n let period = event.target.value;\n\n post('/api/red/report/payment_month', {id: id, payment_month: period});\n }\n\n _change_status(event, widget) {\n widget.b_button_submit.block_button();\n\n post('/api/red/report/status', {id: this.report_id, status: this.combo_button_value}, response => {\n response = parse_json(response);\n\n if (response.success) {\n if (this.combo_button_value == 3) {\n location.replace('/reports/');\n } else {\n location.reload();\n }\n }\n widget.b_button_submit.unblock_button();\n });\n }\n}\n\nmodule.exports = Widget.init('.b-report-data', bReportData);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-report-data/b-report-data.js","import table_content from '../b-comparison-manual/b-comparison-manual__item.html'\nimport content_box from '../b-comparison-manual/b-comparison-manual__box.html'\nimport Widget from 'blocko/widget'\nimport {each, attach_event, post, parse_json, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport { get_context } from 'blocko/functions/context'\nimport iTab from 'blocko/widgets/i-tab/i-tab'\n\n\nclass bComparisonManual extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n table: node.querySelector('.b-comparison-manual__table'),\n tbody: node.querySelector('.b-comparison-manual__tbody'),\n filter_checkboxes: node.querySelectorAll('.b-comparison-manual__checkbox'),\n button_copy_default: node.querySelectorAll('.b-comparison-manual__copy-button'),\n check_button: node.querySelector('.b-comparison-manual__check-button'),\n input: node.querySelectorAll('.b-comparison-manual__search'),\n // add_new_button: node.querySelector('.b-comparison-manual__add-new-button'),\n table_wrap: node.querySelector('.b-comparison-manual__wrap'),\n coolaps_button: node.querySelectorAll('.b-comparison-manual__button'),\n coolaps_box: node.querySelectorAll('.b-comparison-manual__box'),\n addCombinedBlock: node.querySelector('.b-comparison-manual__add-combined'),\n addCombinedButton: node.querySelector('.b-comparison-manual__add-combined-button')\n };\n\n this.report_id = get_context('report') ? get_context('report').params.id : null;\n this.report_date = get_context('report') ? get_context('report').report.ctime_unixtime : null;\n this.data = {\n rows: 100,\n page: 1\n };\n this.is_rendered = false;\n this.node = node;\n this.currrent_track_id = this.node.getAttribute('data-track-id');\n this.isFonmix = this.node.getAttribute('data-is-fonmix') || false;\n this._init_tabs();\n this._bind();\n this._set_edit_items_link();\n }\n\n\n _bind() {\n\n this.dom.table.addEventListener('click', event => {\n if (event.target.classList.contains('b-comparison-manual__check-button')) {\n this._check_track(event);\n }\n }, true);\n\n attach_event(this.dom.button_copy_default, 'click', event => {\n this._copy_default(event);\n this._generate_filter_data(this.node);\n });\n\n attach_event(this.dom.input, 'input', event => {\n let checkbox = document.querySelector('input[data-name=' + event.target.name + ']');\n if (checkbox.checked) {\n clearTimeout(this.search_timer);\n this.search_timer = setTimeout(function () {\n this._generate_filter_data(this.node);\n }.bind(this), 500);\n }\n });\n\n attach_event(this.dom.filter_checkboxes, 'click', event => {\n this._generate_filter_data(this.node);\n });\n\n // this.dom.add_new_button.addEventListener('click', this._add_as_new.bind(this));\n this.dom.addCombinedButton.addEventListener('click', this._add_combined.bind(this));\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n\n this._attch_collapse_event();\n }\n\n\n _attch_collapse_event() {\n this.collapse.attach('CHANGE', context => {\n\n let track_id = this.node.querySelectorAll('.b-comparison-manual__button')[context.active].getAttribute('data-id');\n let content_place = this.node.querySelectorAll('.b-comparison-manual__box')[context.active];\n let now = new Date;\n let timestamp = Date.UTC(now.getFullYear(),now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds());\n\n post('/api/red/track/get/rights/check', {id: track_id, date: this.report_date}, response => {\n response = parse_json(response);\n\n if (response.success) {\n content_place.innerHTML = render(content_box, response.data);\n }\n });\n\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.data.page += 1;\n\n each(this.dom.filter_checkboxes, item => {\n if (item.checked) {\n let input_name = item.getAttribute('data-name');\n let input = this.node.querySelector('[name=' + input_name + ']');\n this.data[input_name + '_like'] = input.value;\n }\n });\n\n post('/api/red/track/list', this.data, response => {\n response = parse_json(response);\n\n this.dom.tbody.insertAdjacentHTML('beforeEnd', render(table_content, {item_list: response.data.item_list}));\n this._set_edit_items_link();\n\n if (response.data.item_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _init_tabs() {\n this.collapse = new iTab({\n buttons: this.node.querySelectorAll('.b-comparison-manual__button'),\n boxes: this.node.querySelectorAll('.b-comparison-manual__box'),\n button_active_class: 'b-comparison-manual__button_active',\n box_hidden_class: 'hidden',\n active: null\n });\n }\n\n\n _check_track(event) {\n event.stopPropagation();\n\n let id = event.target.getAttribute('data-id');\n\n //fonmix condition\n if(event.target.getAttribute('data-fonmix') === 'true') {\n return post('/api/red/report/fonmixreport/track_add/new', {id: this.currrent_track_id, track_id: id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n post('/api/red/report/track/rms/connect', {id: this.currrent_track_id, track_id: id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n\n _generate_filter_data(node) {\n this.data = {};\n each(this.dom.filter_checkboxes, item => {\n if (item.checked) {\n let input_name = item.getAttribute('data-name');\n let input = node.querySelector('[name=' + input_name + ']');\n this.data[input_name + '_like'] = input.value;\n }\n });\n this._render_content();\n }\n\n\n _render_content() {\n this.data.page = 1;\n post('/api/red/track/list', this.data, response => {\n response = parse_json(response);\n if(response.success == 1) {\n this.dom.tbody.innerHTML = render(table_content, {item_list: response.data.item_list, track_id: this.currrent_track_id, is_fonmix: this.isFonmix});\n this._init_tabs();\n this._attch_collapse_event();\n this._set_edit_items_link();\n }\n });\n }\n\n\n _copy_default(event) {\n let input_name = event.target.getAttribute('data-name');\n let input = document.querySelector('[name=' + input_name + ']');\n\n input.value = event.target.getAttribute('data-value');\n }\n\n\n _add_as_new(event) {\n post('/api/red/report/track/rms/add', {id: this.currrent_track_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n _set_edit_items_link() {\n let { url_list } = get_context();\n let hideElements = false;\n if (!url_list) {\n hideElements = true;\n }\n\n //remove edit btn\n if (this.isFonmix) {\n let buttons = this.dom.tbody.querySelectorAll('.b-comparison-manual__change-item');\n Array.prototype.forEach.call(buttons, node => {\n node.parentNode.removeChild(node)\n })\n return\n }\n\n if(!hideElements) {\n let baseUrl = `http://${url_list.vois_rms}`;\n each(this.dom.tbody.querySelectorAll('.b-comparison-manual__change-item'), item => {\n let id = item.getAttribute('data-id');\n if (id) {\n item.removeAttribute('data-id');\n\n item.href = `${baseUrl}/objects_rights/${id}/#edit-object`;\n item.addEventListener('click', stopPropagation, false);\n }\n })\n }\n }\n\n _add_combined(event) {\n let data = {};\n\n each(this.dom.addCombinedBlock.querySelectorAll('[name]'), item => {\n data[item.name] = item.value;\n });\n\n //fonmix condition\n if(event.target.getAttribute('data-fonmix') === 'true') {\n\n return post('/api/red/report/fonmixreport/track_add/new', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n\n post('/api/red/track/add_combined', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n });\n }\n}\n\nmodule.exports = Widget.init('.b-comparison-manual', bComparisonManual);\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-comparison-manual/b-comparison-manual.js","import errormodal_template from '../b-error-modal/b-error-modal.html'\nimport Widget from 'blocko/widget'\nimport {post, parse_json, attach_event, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport {get_context} from 'blocko/functions/context'\nimport iModal from 'blocko/widgets/i-modal/i-modal'\n\n\nclass bDistributionData extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n radio_buttons: node.querySelectorAll('.b-combo input'),\n status: node.querySelector('.b-distribution-data__status'),\n summ_amount: node.querySelector('.b-distribution-data__summ-amount'),\n summ_pay: node.querySelector('.b-distribution-data__summ-pay'),\n delete_button: document.querySelector('.b-distribution-data__delete-button'),\n combo_block: node.querySelector('.b-combo'),\n in_work_button: node.querySelector('.b-distribution-data__in-work-button')\n };\n\n this.reward_id = get_context('reward').reward.id;\n this.radio_button_value = undefined;\n\n if (this.dom.combo_block) {\n this.status_confirm_modal = get_widget(this.dom.combo_block, 'bConfirmModal');\n }\n\n if (this.dom.delete_button) {\n this.delete_confirm_modal = get_widget(this.dom.delete_button, 'bConfirmModal');\n }\n\n this._bind();\n }\n\n\n _bind() {\n if (this.dom.combo_block) {\n attach_event(this.dom.radio_buttons, 'click', event => {\n this.radio_button_value = event.target.value;\n let status_name = event.target.nextSibling.textContent.trim();\n this.status_confirm_modal.change_content(`Вы действительно хотите перевести распределение в состояние \"${status_name}\"?`);\n });\n\n this.status_confirm_modal.attach('confirm', (event, widget) => {\n let data = {};\n data['id'] = this.reward_id;\n data['status'] = this.radio_button_value;\n\n widget.b_button_submit.block_button();\n post('/api/red/reward/status', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n widget.b_button_submit.unblock_button();\n });\n });\n }\n\n attach_event(this.dom.delete_button, 'click', () => {\n this.delete_confirm_modal.change_content(`Вы действительно хотите удалить распределение?`);\n });\n\n\n attach_event(this.dom.in_work_button, 'click', () => {\n let data = {};\n data['id'] = this.reward_id;\n data['status'] = 3;\n\n post('/api/red/reward/status', data, response => {\n response = parse_json(response);\n\n if (response.success === 1) {\n location.reload();\n }\n });\n });\n\n if (this.delete_confirm_modal) {\n this.delete_confirm_modal.attach('confirm', (event, widget) => {\n widget.b_button_submit.block_button();\n post('/api/red/reward/del', {id: this.reward_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.replace('/distributions/');\n } else {\n this._error_modal(event, response.errmess);\n }\n widget.b_button_submit.unblock_button();\n });\n });\n }\n\n }\n\n\n _error_modal(event, message) {\n\n let modal = get_widget(event.target, 'iModal');\n\n if (!modal) {\n modal = new iModal(errormodal_template, {\n node_link: event.target,\n strict_hide: true\n });\n\n modal.dom.close_button.classList.add('b-modal__close-error');\n }\n\n modal.change_body(render(errormodal_template, {message: message}));\n modal.show();\n }\n\n\n update_summ() {\n post('/api/red/reward/get', {id: this.reward_id}, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n this.dom.summ_amount.innerText = response.data.reward.summ_amount;\n this.dom.summ_pay.innerText = response.data.reward.summ_pay;\n }\n });\n }\n\n}\n\nmodule.exports = Widget.init('.b-distribution-data', bDistributionData);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-distribution-data/b-distribution-data.js","import items_template from '../b-reward-reports-add/b-reward-reports-add__table-item.html';\nimport Widget from 'blocko/widget'\nimport {each, post, parse_json, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport {get_context} from 'blocko/functions/context'\n\nconst FILTER_PERIOD_POSTFIX = ':<=';\n\nclass bRewardReportsAdd extends Widget {\n\n constructor(node) {\n super(node);\n this.dom = {\n table: node.querySelector('.b-reward-reports-add__table'),\n tbody_td: node.querySelectorAll('.b-reward-reports-add__table-tbody tr:first-child td'),\n thead_td: node.querySelectorAll('.b-reward-reports-add__table-thead td'),\n table_tbody: node.querySelector('.b-reward-reports-add__table-tbody'),\n add_button: node.querySelector('.b-reward-reports-add__add-reward'),\n add_button_counter: node.querySelector('.b-reward-reports-add__add-reward-counter'),\n check_all: node.querySelector('.b-reward-reports-add__check-all'),\n check_item: node.querySelectorAll('.b-reward-reports-add__check-item'),\n table_wrap: document.querySelector('.b-reward-reports-add__wrap')\n };\n\n let { reward } = get_context('reward');\n\n this.period = reward.month_unixtime + FILTER_PERIOD_POSTFIX;\n this.is_additional = reward.is_additional;\n\n this.query_params = {\n month: this.period,\n status: 6,\n rows: 100,\n page: 1,\n is_additional: this.is_additional\n };\n this.is_rendered = false;\n this.reward_id = get_context('reward').reward.id;\n\n this.search = get_widget(node.querySelector('.b-reward-reports-add__search'), 'bSearch');\n this.b_button_submit = get_widget(this.dom.add_button, 'bButtonSubmit');\n\n this._bind();\n }\n\n\n _bind() {\n this.search.attach('input', widget => {\n this._search(widget);\n });\n\n this.search.attach('click', widget => {\n this._get_default(widget);\n });\n\n this.dom.table.addEventListener('click', event => {\n event.stopPropagation();\n if (event.target.classList.contains('b-reward-reports-add__check-all')) {\n this._check_all(event);\n } else if (event.target.classList.contains('b-reward-reports-add__check-item')) {\n this._check_item(event);\n }\n });\n\n this.dom.add_button.addEventListener('click', this._add_reports.bind(this));\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/report/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_tbody.insertAdjacentHTML('beforeEnd', render(items_template, {report_list: response.data.report_list}));\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _check_all(event) {\n event.stopPropagation();\n\n this.dom.check_item = document.querySelectorAll('.b-reward-reports-add__check-item');\n\n if (event.target.checked) {\n each(this.dom.check_item, item => {\n item.checked = true;\n });\n\n this._toggle_elements('show');\n } else {\n each(this.dom.check_item, item => {\n item.checked = false;\n });\n\n this._toggle_elements('hide');\n }\n\n this.checked_items = document.querySelectorAll('.b-reward-reports-add__check-item:checked');\n }\n\n _check_item(event) {\n event.stopPropagation();\n\n this.checked_items = document.querySelectorAll('.b-reward-reports-add__check-item:checked');\n\n let items_count = document.querySelectorAll('.b-reward-reports-add__check-item').length;\n let checked_items_count = this.checked_items.length;\n\n if (checked_items_count == 0) {\n this._toggle_elements('hide');\n this.dom.check_all.checked = false;\n } else if (checked_items_count == items_count) {\n this._toggle_elements('show');\n this.dom.check_all.checked = true;\n } else {\n this._toggle_elements('show');\n }\n }\n\n _toggle_elements(action) {\n if (action == 'show') {\n this.dom.add_button.classList.remove('hidden');\n this.dom.add_button_counter.innerText = document.querySelectorAll('.b-reward-reports-add__check-item:checked').length;\n } else {\n this.dom.add_button.classList.add('hidden');\n this.dom.add_button_counter.innerText = '';\n }\n }\n\n _search(widget) {\n let value = widget.dom.input.value;\n\n this.query_params['search'] = value;\n this.query_params['page'] = 1;\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n\n }\n\n _get_default(widget) {\n this.query_params = {\n month: this.period,\n status: 6,\n rows: 100,\n page: 1,\n is_additional: this.is_additional\n };\n this._post_data(this.query_params);\n }\n\n _post_data(data) {\n post('/api/red/report/list', data, this._render.bind(this));\n }\n\n _render(response) {\n response = parse_json(response);\n this.dom.table_tbody.innerHTML = render(items_template, response.data);\n }\n\n _add_reports(event) {\n let data = {};\n let report_id = '';\n let report_array = [];\n let report_part = [];\n\n data['reward_id'] = this.reward_id;\n\n each (this.checked_items, item => {\n report_array = report_array.concat([item.value]);\n });\n\n this.b_button_submit.block_button();\n\n report_part = report_array.splice(0, 30);\n this._add_reports_part(report_part, data, report_array);\n }\n\n _add_reports_part (reports_array, data, report_array) {\n\n let report_id = '';\n\n each (reports_array, item => {\n report_id += item + ',';\n });\n\n data['report_id'] = report_id;\n\n post('/api/red/reward/report/add', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n\n let add_checkers = document.querySelectorAll('.b-reward-reports-add__check-item:checked');\n each (add_checkers, check_item => {\n if (response.params.report_id.indexOf(check_item.value) != -1) {\n check_item.checked = false;\n }\n });\n\n if (report_array.length != 0) {\n this.dom.add_button_counter.innerText = document.querySelectorAll('.b-reward-reports-add__check-item:checked').length;\n this.b_button_submit.block_button();\n let report_part = report_array.splice(0, 30);\n this._add_reports_part(report_part, data, report_array);\n\n } else {\n this.b_button_submit.unblock_button();\n this._toggle_elements('hide');\n }\n } else {\n this.b_button_submit.unblock_button();\n }\n\n });\n }\n\n}\n\nmodule.exports = Widget.init('.b-reward-reports-add', bRewardReportsAdd);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-reward-reports-add/b-reward-reports-add.js","import Widget from 'blocko/widget'\nimport {attach_event} from 'blocko/helpers'\n\nclass bInlineEdit extends Widget {\n constructor(node) {\n super(node);\n\n this.dom = {\n wrap: node,\n input: node.querySelector('.b-inline-edit__controls-input'),\n controls: node.querySelector('.b-inline-edit__controls'),\n preview: node.querySelector('.b-inline-edit__preview'),\n };\n\n this._bind();\n }\n\n destructor() {\n document.removeEventListener('click', event => {\n if(!this.dom.wrap.contains(event.target)) {\n this._reset_display();\n }\n });\n }\n\n _bind() {\n attach_event(this.dom.input, 'mouseleave', event => {\n this._reset_display();\n });\n\n attach_event(document, 'click', event => {\n if(!this.dom.wrap.contains(event.target)) {\n this._reset_display();\n }\n });\n }\n\n _reset_display() {\n this.dom.controls.style.display = '';\n this.dom.preview.style.display = '';\n }\n\n}\n\nmodule.exports = Widget.init('.b-inline-edit', bInlineEdit);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-inline-edit/b-inline-edit.js","import Widget from 'blocko/widget'\nimport {attach_event, each} from 'blocko/helpers'\nimport {add_url_param, remove_url_param} from 'blocko/functions/url_params'\n\nconst ACTIVE_CLASS = 'b-combo__item_active';\n\nclass bCombo extends Widget {\n\n constructor(node) {\n super(node);\n\n this.dom = {\n body: node,\n buttons: node.querySelectorAll('.b-combo__item'),\n inputs: node.querySelectorAll('.b-combo__item-input')\n };\n\n this.active_button_index = undefined;\n this.active_input_value = undefined;\n this.set_get_params = node.getAttribute('data-get-params');\n\n this._bind();\n }\n\n\n _bind() {\n attach_event(this.dom.buttons, 'click', this._check_item.bind(this));\n }\n\n\n _check_item(event) {\n each(this.dom.buttons, (item, index) => {\n if (item == event.target) {\n item.classList.add(ACTIVE_CLASS);\n this.active_button_index = index;\n this.active_input_value = this.dom.inputs[index].value;\n\n if (this.set_get_params) {\n if (this.dom.inputs[index].value) {\n add_url_param(this.dom.inputs[index].name, this.dom.inputs[index].value);\n } else {\n remove_url_param(this.dom.inputs[index].name)\n }\n }\n\n\n } else {\n item.classList.remove(ACTIVE_CLASS);\n }\n });\n\n this.dispatch('click', [this]);\n }\n\n reset() {\n each(this.dom.buttons, (item, index) => {\n item.classList.remove(ACTIVE_CLASS);\n this.dom.inputs[index].checked = false;\n });\n }\n}\n\nmodule.exports = Widget.init('.b-combo', bCombo);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-combo/b-combo.js","import items_template from './b-music-libery-reports-list__table-item.html';\nimport Widget from 'blocko/widget'\nimport {each, post, parse_json, get_widget} from 'blocko/helpers'\nimport render from 'blocko/functions/render'\nimport {get_context} from 'blocko/functions/context'\n\nconst FILTER_PERIOD_POSTFIX = ':<=';\n\nclass bRewardReportsList extends Widget {\n\n constructor(node) {\n super(node);\n this.dom = {\n table: node.querySelector('.b-reward-reports-add__table'),\n tbody_td: node.querySelectorAll('.b-reward-reports-add__table-tbody tr:first-child td'),\n thead_td: node.querySelectorAll('.b-reward-reports-add__table-thead td'),\n table_tbody: node.querySelector('.b-reward-reports-add__table-tbody'),\n add_button: node.querySelector('.b-reward-reports-add__add-reward'),\n add_button_counter: node.querySelector('.b-reward-reports-add__add-reward-counter'),\n check_all: node.querySelector('.b-reward-reports-add__check-all'),\n check_item: node.querySelectorAll('.b-reward-reports-add__check-item'),\n table_wrap: document.querySelector('.b-reward-reports-add__wrap')\n };\n\n this.query_params = {\n status: \"6,7,8\",\n rows: 100,\n page: 1,\n };\n this.is_rendered = false;\n\n this.search = get_widget(node.querySelector('.b-reward-reports-add__search'), 'bSearch');\n this.b_button_submit = get_widget(this.dom.add_button, 'bButtonSubmit');\n\n this._bind();\n }\n\n _bind() {\n this.search.attach('input', widget => {\n this._search(widget);\n });\n\n this.search.attach('click', widget => {\n this._get_default(widget);\n });\n\n this.dom.table.addEventListener('click', event => {\n event.stopPropagation();\n if (event.target.classList.contains('b-reward-reports-add__check-all')) {\n this._check_all(event);\n } else if (event.target.classList.contains('b-reward-reports-add__check-item')) {\n this._check_item(event);\n }\n });\n\n this.dom.add_button.addEventListener('click', this._add_reports.bind(this));\n\n this.dom.table_wrap.addEventListener('scroll', event => {\n this._window_scroll_event();\n });\n }\n\n\n _window_scroll_event() {\n let bounding = this.dom.table_wrap.getBoundingClientRect();\n let scroll_top = this.dom.table_wrap.scrollTop;\n let window_height = bounding.bottom - bounding.top;\n let document_height = Math.max(\n this.dom.table.scrollHeight,\n this.dom.table.offsetHeight,\n this.dom.table.clientHeight\n );\n\n if (scroll_top + window_height >= document_height - window_height) {\n this._next_page();\n }\n }\n\n\n _next_page() {\n if (this.is_rendered) {\n return;\n }\n\n this.is_rendered = true;\n this.query_params.page += 1;\n\n post('/api/red/report/list', this.query_params, response => {\n response = parse_json(response);\n\n this.dom.table_tbody.insertAdjacentHTML('beforeEnd', render(items_template, {report_list: response.data.report_list}));\n\n if (response.data.report_list.length) {\n this.is_rendered = false;\n }\n });\n }\n\n\n _check_all(event) {\n event.stopPropagation();\n\n this.dom.check_item = document.querySelectorAll('.b-reward-reports-add__check-item');\n\n if (event.target.checked) {\n each(this.dom.check_item, item => {\n item.checked = true;\n });\n\n this._toggle_elements('show');\n } else {\n each(this.dom.check_item, item => {\n item.checked = false;\n });\n\n this._toggle_elements('hide');\n }\n\n this.checked_items = document.querySelectorAll('.b-reward-reports-add__check-item:checked');\n }\n\n\n _check_item(event) {\n event.stopPropagation();\n\n this.checked_items = document.querySelectorAll('.b-reward-reports-add__check-item:checked');\n\n let items_count = document.querySelectorAll('.b-reward-reports-add__check-item').length;\n let checked_items_count = this.checked_items.length;\n\n if (checked_items_count == 0) {\n this._toggle_elements('hide');\n this.dom.check_all.checked = false;\n } else if (checked_items_count == items_count) {\n this._toggle_elements('show');\n this.dom.check_all.checked = true;\n } else {\n this._toggle_elements('show');\n }\n }\n\n\n _toggle_elements(action) {\n if (action == 'show') {\n this.dom.add_button.classList.remove('hidden');\n this.dom.add_button_counter.innerText = document.querySelectorAll('.b-reward-reports-add__check-item:checked').length;\n } else {\n this.dom.add_button.classList.add('hidden');\n this.dom.add_button_counter.innerText = '';\n }\n }\n\n\n _search(widget) {\n let value = widget.dom.input.value;\n\n if (value !== \"\"){\n this.query_params['search'] = value;\n this.query_params['page'] = 1;\n\n clearTimeout(this.search_timer);\n\n this.search_timer = setTimeout(function () {\n this._post_data(this.query_params);\n }.bind(this), 300);\n }\n }\n\n _get_default(widget) {\n this.query_params = {\n month: this.period,\n status: 6,\n rows: 100,\n page: 1,\n is_additional: this.is_additional\n };\n this._post_data(this.query_params);\n }\n\n\n _post_data(data) {\n post('/api/red/report/list', data, this._render.bind(this));\n }\n\n\n _render(response) {\n response = parse_json(response);\n this.dom.table_tbody.innerHTML = render(items_template, response.data);\n }\n\n\n _add_reports(event) {\n\n let data = {};\n let report_id = '';\n\n data['reward_id'] = this.reward_id;\n\n each(this.checked_items, item => {\n report_id += item.value + ',';\n });\n\n data['report_id'] = report_id;\n this.b_button_submit.block_button();\n post('/api/red/reward/report/add', data, response => {\n response = parse_json(response);\n\n if (response.success == 1) {\n location.reload();\n }\n this.b_button_submit.unblock_button();\n });\n }\n\n}\n\nmodule.exports = Widget.init('.b-reward-reports-list', bRewardReportsList);\n\n\n// WEBPACK FOOTER //\n// ./source/templates/b-music-libery-reports-list/b-music-libery-reports-list.js"],"sourceRoot":""}