From 2f1bbd12877daf745e1d18b62b731f04cece827e Mon Sep 17 00:00:00 2001 From: Good Guy Date: Thu, 28 Sep 2017 19:40:08 -0600 Subject: [PATCH] sams latest icons, rework proxy settings --- cinelerra-5.1/cfg-cv.sh | 4 +- cinelerra-5.1/cinelerra/awindowgui.C | 17 +- cinelerra-5.1/cinelerra/edl.inc | 5 +- cinelerra-5.1/cinelerra/edlsession.C | 31 +- cinelerra-5.1/cinelerra/edlsession.h | 7 +- cinelerra-5.1/cinelerra/mainsession.C | 2 +- cinelerra-5.1/cinelerra/mwindow.C | 59 +- cinelerra-5.1/cinelerra/mwindow.h | 9 +- cinelerra-5.1/cinelerra/mwindowedit.C | 39 +- cinelerra-5.1/cinelerra/playbackprefs.h | 10 - cinelerra-5.1/cinelerra/proxy.C | 621 ++++++++++-------- cinelerra-5.1/cinelerra/proxy.h | 96 ++- cinelerra-5.1/info/plugins.txt | 10 +- cinelerra-5.1/msg/txt | 7 +- cinelerra-5.1/picon_cinfinity/ff_nlmeans.png | Bin 0 -> 20657 bytes cinelerra-5.1/picon_cinfinity/ff_noise.png | Bin 0 -> 31033 bytes .../picon_cinfinity/ff_owdenoise.png | Bin 0 -> 24111 bytes cinelerra-5.1/picon_cinfinity/ff_perms.png | Bin 0 -> 14731 bytes .../picon_cinfinity/ff_perspective.png | Bin 0 -> 18996 bytes cinelerra-5.1/picon_cinfinity/ff_phase.png | Bin 0 -> 20286 bytes cinelerra-5.1/picon_cinfinity/ff_pp.png | Bin 0 -> 14042 bytes cinelerra-5.1/picon_cinfinity/ff_pp7.png | Bin 0 -> 18754 bytes cinelerra-5.1/picon_cinfinity/ff_prewitt.png | Bin 0 -> 14301 bytes .../picon_cinfinity/ff_readeia608.png | Bin 0 -> 15056 bytes cinelerra-5.1/picon_cinfinity/ff_readvitc.png | Bin 0 -> 19587 bytes cinelerra-5.1/picon_cinfinity/ff_realtime.png | Bin 0 -> 19438 bytes cinelerra-5.1/plugins/findobj/findobj.C | 2 +- .../plugins/theme_blond/data/mbutton_bg.png | Bin 1094 -> 239 bytes .../plugins/theme_blond/data/menubar_bg.png | Bin 1464 -> 222 bytes .../plugins/theme_blue/data/mbutton_bg.png | Bin 1106 -> 251 bytes .../plugins/theme_blue/data/menubar_bg.png | Bin 1451 -> 223 bytes .../plugins/theme_hulk/data/mbutton_bg.png | Bin 909 -> 226 bytes .../plugins/theme_hulk/data/menubar_bg.png | Bin 1148 -> 221 bytes .../theme_pinklady/data/mbutton_bg.png | Bin 1210 -> 248 bytes .../theme_pinklady/data/menubar_bg.png | Bin 1621 -> 220 bytes .../plugins/theme_unflat/data/mbutton_bg.png | Bin 1264 -> 226 bytes .../plugins/theme_unflat/data/menubar_bg.png | Bin 1730 -> 222 bytes 37 files changed, 556 insertions(+), 363 deletions(-) create mode 100644 cinelerra-5.1/picon_cinfinity/ff_nlmeans.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_noise.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_owdenoise.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_perms.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_perspective.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_phase.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_pp.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_pp7.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_prewitt.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_readeia608.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_readvitc.png create mode 100644 cinelerra-5.1/picon_cinfinity/ff_realtime.png diff --git a/cinelerra-5.1/cfg-cv.sh b/cinelerra-5.1/cfg-cv.sh index 3ae46732..153a526b 100755 --- a/cinelerra-5.1/cfg-cv.sh +++ b/cinelerra-5.1/cfg-cv.sh @@ -75,8 +75,8 @@ export MJPEG_CFLAGS="-I$THIRDPARTY/mjpegtools-2.1.0/. \ -I$THIRDPARTY/mjpegtools-2.1.0/lavtools \ -I$THIRDPARTY/mjpegtools-2.1.0/utils" -export LIBX264_CFLAGS="-I$THIRDPARTY/x264-20151229/." -export LIBX264_LIBS="-L$THIRDPARTY/x264-20151229/. -lx264" +export LIBX264_CFLAGS="-I$THIRDPARTY/x264-snapshot-20160220-2245-stable/." +export LIBX264_LIBS="-L$THIRDPARTY/x264-snapshot-20160220-2245-stable/. -lx264" for f in $MJPEG_LIBS $LIBX264_LIBS; do LIBS=`echo "$LIBS" | sed -e "s;[ ]*\<$f\>[ ]*; ;"` diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index 90287ac9..8b9a3ff4 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -76,7 +76,8 @@ const char *AWindowGUI::folder_names[] = N_("Labels"), N_("Clips"), N_("Media"), - N_("User") + N_("Proxy"), + N_("User"), }; @@ -582,6 +583,7 @@ SET_TRACE folders.append(new AssetPicon(mwindow, this, AW_VTRANSITION_FOLDER, 1)); folders.append(new AssetPicon(mwindow, this, AW_LABEL_FOLDER, 1)); folders.append(new AssetPicon(mwindow, this, AW_CLIP_FOLDER, 1)); + folders.append(new AssetPicon(mwindow, this, AW_PROXY_FOLDER, 1)); folders.append(new AssetPicon(mwindow, this, AW_MEDIA_FOLDER, 1)); create_label_folder(); @@ -970,7 +972,7 @@ void AWindowGUI::update_folder_list() // printf("AWindowGUI::update_folder_list %s\n", folders.values[i]->get_text()); // Delete excess - for( int i = folders.total - 1; i >= 0; i-- ) { + for( int i=folders.total; --i>=0; ) { AssetPicon *picon = (AssetPicon*)folders.values[i]; if( !picon->in_use && !picon->persistent ) { delete picon; @@ -1295,10 +1297,12 @@ void AWindowGUI::filter_displayed_assets() } // Ensure the current folder icon is highlighted - for( int i = 0; i < folders.total; i++ ) - folders.values[i]->set_selected(0); - - folders.values[mwindow->edl->session->awindow_folder]->set_selected(1); + int selected_folder = mwindow->edl->session->awindow_folder; + for( int i = 0; i < folders.total; i++ ) { + AssetPicon *folder_item = (AssetPicon *)folders.values[i]; + int selected = folder_item->foldernum == selected_folder ? 1 : 0; + folder_item->set_selected(selected); + } } @@ -1569,6 +1573,7 @@ int AWindowAssets::button_press_event() gui->cliplist_menu->activate_menu(); break; case AW_MEDIA_FOLDER: + case AW_PROXY_FOLDER: gui->assetlist_menu->update_titles(); gui->assetlist_menu->activate_menu(); break; diff --git a/cinelerra-5.1/cinelerra/edl.inc b/cinelerra-5.1/cinelerra/edl.inc index 83d7b13d..a6ecb427 100644 --- a/cinelerra-5.1/cinelerra/edl.inc +++ b/cinelerra-5.1/cinelerra/edl.inc @@ -62,8 +62,9 @@ class EDL; #define AW_LABEL_FOLDER 4 #define AW_CLIP_FOLDER 5 #define AW_MEDIA_FOLDER 6 -#define AW_USER_FOLDER 7 -#define AWINDOW_FOLDERS 8 +#define AW_PROXY_FOLDER 7 +#define AW_USER_FOLDER 8 +#define AWINDOW_FOLDERS 9 #define AWINDOW_MODES 2 diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index 1ad03070..5876b919 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -87,7 +87,6 @@ EDLSession::EDLSession(EDL *edl) interpolate_raw = 1; white_balance_raw = 1; labels_follow_edits = 1; - mpeg4_deblock = 1; plugins_follow_edits = 1; single_standalone = 1; meter_format = METER_DB; @@ -98,8 +97,9 @@ EDLSession::EDLSession(EDL *edl) playback_buffer = 4096; playback_cursor_visible = 0; playback_preload = 0; - proxy_use_scaler = 0; proxy_scale = 1; + proxy_use_scaler = 0; + proxy_auto_scale = 1; decode_subtitles = 0; subtitle_number = 0; label_cells = 0; @@ -167,9 +167,7 @@ int EDLSession::need_rerender(EDLSession *ptr) (decode_subtitles != ptr->decode_subtitles) || (subtitle_number != ptr->subtitle_number) || (interpolate_raw != ptr->interpolate_raw) || - (white_balance_raw != ptr->white_balance_raw) || - (proxy_use_scaler != ptr->proxy_use_scaler) || - (proxy_scale != ptr->proxy_scale)); + (white_balance_raw != ptr->white_balance_raw)); } void EDLSession::equivalent_output(EDLSession *session, double *result) @@ -181,11 +179,10 @@ void EDLSession::equivalent_output(EDLSession *session, double *result) session->interpolation_type != interpolation_type || session->interpolate_raw != interpolate_raw || session->white_balance_raw != white_balance_raw || - session->mpeg4_deblock != mpeg4_deblock || session->decode_subtitles != decode_subtitles || session->subtitle_number != subtitle_number || - session->proxy_use_scaler != proxy_use_scaler || - session->proxy_scale != proxy_scale ) + session->proxy_scale != proxy_scale || + session->proxy_use_scaler != proxy_use_scaler ) *result = 0; // If it's before the current brender_start, render extra data. @@ -279,7 +276,6 @@ int EDLSession::load_defaults(BC_Hash *defaults) meter_format = defaults->get("METER_FORMAT", METER_DB); min_meter_db = defaults->get("MIN_METER_DB", -85); max_meter_db = defaults->get("MAX_METER_DB", 6); - mpeg4_deblock = defaults->get("MPEG4_DEBLOCK", mpeg4_deblock); output_w = defaults->get("OUTPUTW", output_w); output_h = defaults->get("OUTPUTH", output_h); playback_buffer = defaults->get("PLAYBACK_BUFFER", 4096); @@ -421,7 +417,6 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("METER_FORMAT", meter_format); defaults->update("MIN_METER_DB", min_meter_db); defaults->update("MAX_METER_DB", max_meter_db); - defaults->update("MPEG4_DEBLOCK", mpeg4_deblock); defaults->update("OUTPUTW", output_w); defaults->update("OUTPUTH", output_h); defaults->update("PLAYBACK_BUFFER", playback_buffer); @@ -553,8 +548,9 @@ int EDLSession::load_video_config(FileXML *file, int append_mode, uint32_t load_ output_h = file->tag.get_property("OUTPUTH", output_h); aspect_w = file->tag.get_property("ASPECTW", aspect_w); aspect_h = file->tag.get_property("ASPECTH", aspect_h); - proxy_use_scaler = file->tag.get_property("PROXY_USE_SCALER", proxy_use_scaler); proxy_scale = file->tag.get_property("PROXY_SCALE", proxy_scale); + proxy_use_scaler = file->tag.get_property("PROXY_USE_SCALER", proxy_use_scaler); + proxy_auto_scale = file->tag.get_property("PROXY_AUTO_SCALE", proxy_auto_scale); return 0; } @@ -628,7 +624,6 @@ int EDLSession::load_xml(FileXML *file, folderlist_format = file->tag.get_property("FOLDERLIST_FORMAT", folderlist_format); highlighted_track = file->tag.get_property("HIGHLIGHTED_TRACK", 0); labels_follow_edits = file->tag.get_property("LABELS_FOLLOW_EDITS", labels_follow_edits); - mpeg4_deblock = file->tag.get_property("MPEG4_DEBLOCK", mpeg4_deblock); plugins_follow_edits = file->tag.get_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits); single_standalone = file->tag.get_property("SINGLE_STANDALONE", single_standalone); playback_preload = file->tag.get_property("PLAYBACK_PRELOAD", playback_preload); @@ -692,7 +687,6 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("FOLDERLIST_FORMAT", folderlist_format); file->tag.set_property("HIGHLIGHTED_TRACK", highlighted_track); file->tag.set_property("LABELS_FOLLOW_EDITS", labels_follow_edits); - file->tag.set_property("MPEG4_DEBLOCK", mpeg4_deblock); file->tag.set_property("PLUGINS_FOLLOW_EDITS", plugins_follow_edits); file->tag.set_property("SINGLE_STANDALONE", single_standalone); file->tag.set_property("PLAYBACK_PRELOAD", playback_preload); @@ -744,8 +738,9 @@ int EDLSession::save_video_config(FileXML *file) file->tag.set_property("OUTPUTH", output_h); file->tag.set_property("ASPECTW", aspect_w); file->tag.set_property("ASPECTH", aspect_h); - file->tag.set_property("PROXY_USE_SCALER", proxy_use_scaler); file->tag.set_property("PROXY_SCALE", proxy_scale); + file->tag.set_property("PROXY_USE_SCALER", proxy_use_scaler); + file->tag.set_property("PROXY_AUTO_SCALE", proxy_auto_scale); file->append_tag(); file->tag.set_title("/VIDEO"); file->append_tag(); @@ -841,7 +836,6 @@ int EDLSession::copy(EDLSession *session) meter_format = session->meter_format; min_meter_db = session->min_meter_db; max_meter_db = session->max_meter_db; - mpeg4_deblock = session->mpeg4_deblock; output_w = session->output_w; output_h = session->output_h; playback_buffer = session->playback_buffer; @@ -884,8 +878,9 @@ int EDLSession::copy(EDLSession *session) view_follows_playback = session->view_follows_playback; vwindow_meter = session->vwindow_meter; vwindow_zoom = session->vwindow_zoom; - proxy_use_scaler = session->proxy_use_scaler; proxy_scale = session->proxy_scale; + proxy_use_scaler = session->proxy_use_scaler; + proxy_auto_scale = session->proxy_auto_scale; subtitle_number = session->subtitle_number; decode_subtitles = session->decode_subtitles; @@ -901,10 +896,10 @@ void EDLSession::dump() printf(" audio_tracks=%d audio_channels=%d sample_rate=%jd\n" " video_tracks=%d frame_rate=%f output_w=%d output_h=%d aspect_w=%f aspect_h=%f\n" " decode subtitles=%d subtitle_number=%d label_cells=%d program_no=%d\n" - " proxy_use_scaler=%d, proxy_scale=%d\n", + " proxy_scale=%d\n proxy_use_scaler=%d, proxy_auto_scale=%d\n", audio_tracks, audio_channels, sample_rate, video_tracks, frame_rate, output_w, output_h, aspect_w, aspect_h, decode_subtitles, subtitle_number, label_cells, program_no, - proxy_use_scaler, proxy_scale); + proxy_scale, proxy_use_scaler, proxy_auto_scale); } diff --git a/cinelerra-5.1/cinelerra/edlsession.h b/cinelerra-5.1/cinelerra/edlsession.h index 28c3c623..d5d610ee 100644 --- a/cinelerra-5.1/cinelerra/edlsession.h +++ b/cinelerra-5.1/cinelerra/edlsession.h @@ -141,7 +141,6 @@ public: int white_balance_raw; // labels follow edits during editing int labels_follow_edits; - int mpeg4_deblock; int plugins_follow_edits; // For main menu plugin attaching, // // attach 1 standalone on the first track and share it with other tracks @@ -160,7 +159,11 @@ public: int program_no; int playback_software_position; // current settings are scaled this much from the original settings - int proxy_use_scaler, proxy_scale; + int proxy_scale; +// upscale geom from proxy to session on read in + int proxy_use_scaler; +// automatically rescale assets when loaded + int proxy_auto_scale; // int playback_strategy; // Play audio in realtime priority int real_time_playback; diff --git a/cinelerra-5.1/cinelerra/mainsession.C b/cinelerra-5.1/cinelerra/mainsession.C index b9c18df6..4ff969fd 100644 --- a/cinelerra-5.1/cinelerra/mainsession.C +++ b/cinelerra-5.1/cinelerra/mainsession.C @@ -385,7 +385,7 @@ int MainSession::load_defaults(BC_Hash *defaults) //printf("MainSession::load_defaults 1\n"); // Other windows - afolders_w = defaults->get("ABINS_W", 140); + afolders_w = defaults->get("ABINS_W", 200); rwindow_x = defaults->get("RWINDOW_X", rwindow_x); rwindow_y = defaults->get("RWINDOW_Y", rwindow_y); rwindow_w = defaults->get("RWINDOW_W", rwindow_w); diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 6a639671..2dbb5b3a 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -89,6 +89,7 @@ #include "pluginserver.h" #include "pluginset.h" #include "preferences.h" +#include "proxy.h" #include "record.h" #include "recordmonitor.h" #include "recordlabel.h" @@ -1494,14 +1495,10 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__); if(load_mode != LOADMODE_RESOURCESONLY) { -SET_TRACE RecordLabels *labels = edl->session->label_cells ? new RecordLabels(new_file) : 0; -SET_TRACE asset_to_edl(new_edl, new_asset, labels); -SET_TRACE new_edls.append(new_edl); -SET_TRACE new_asset->Garbage::remove_user(); delete labels; new_asset = 0; @@ -1817,6 +1814,9 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__); ( load_mode == LOADMODE_REPLACE || load_mode == LOADMODE_REPLACE_CONCATENATE ) ) { select_asset(0, 0); + edl->session->proxy_scale = 1; + edl->session->proxy_use_scaler = 0; + edl->session->proxy_auto_scale = 0; edl->local_session->preview_start = 0; edl->local_session->preview_end = edl->tracks->total_playable_length(); edl->local_session->loop_playback = 0; @@ -1827,6 +1827,27 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__); goto_start(); } + if( ( edl->session->proxy_auto_scale && edl->session->proxy_scale != 1 ) && + ( load_mode != LOADMODE_REPLACE && load_mode != LOADMODE_REPLACE_CONCATENATE ) ) { + ArrayList orig_idxbls; + for( int i=0; itracks->first; track; track=track->next ) { + if( track->data_type != TRACK_VIDEO ) continue; + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + Indexable *idxbl = (Indexable *)edit->asset; + if( !idxbl ) continue; + if( !idxbl->have_video() ) continue; + if( edit->channel != 0 ) continue; // first layer only + orig_idxbls.append(edit->asset); + } + } + } + render_proxy(orig_idxbls); + } + // need to update undo before project, since mwindow is unlocked & a new load // can begin here. Should really prevent loading until we're done. if(debug) printf("MWindow::load_filenames %d\n", __LINE__); @@ -1871,8 +1892,35 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__); return 0; } +void MWindow::render_proxy(ArrayList &new_idxbls) +{ + Asset *format_asset = new Asset; + format_asset->format = FILE_FFMPEG; + format_asset->load_defaults(defaults, "PROXY_", 1, 1, 0, 0, 0); + ProxyRender proxy_render(this, format_asset); + int new_scale = edl->session->proxy_scale; + int use_scaler = edl->session->proxy_use_scaler; + for( int i=0; ipath) > 0 ? 1 : 0; + int got_it = exists && // if proxy exists, and is newer than orig + fs.get_date(proxy->path) > fs.get_date(orig->path) ? 1 : 0; + if( got_it ) continue; + proxy_render.add_needed(orig, proxy); + } +// render needed proxies + int result = proxy_render.create_needed_proxies(new_scale); + if( !result ) { + add_proxy(use_scaler, + &proxy_render.orig_idxbls, &proxy_render.orig_proxies); + } + format_asset->remove_user(); +} void MWindow::test_plugins(EDL *new_edl, char *path) { @@ -1985,7 +2033,6 @@ void MWindow::create_objects(int want_gui, int want_new, char *config_path) { - FileSystem fs; const int debug = 0; if(debug) PRINT_TRACE @@ -2957,8 +3004,6 @@ void MWindow::update_project(int load_mode) if(load_mode == LOADMODE_REPLACE || load_mode == LOADMODE_REPLACE_CONCATENATE) { - edl->session->proxy_scale = 1; - edl->session->proxy_use_scaler = 0; gui->load_panes(); } diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index a97e85ba..2ada7db3 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -492,8 +492,13 @@ public: int modify_edithandles(); int modify_pluginhandles(); void finish_modify_handles(); - void set_proxy(int use_scaler, int new_scale, - ArrayList *orig_assets, ArrayList *proxy_assets); + void set_proxy(int use_scaler, int new_scale, int auto_scale, + ArrayList *orig_assets, + ArrayList *proxy_assets); + void add_proxy(int use_scaler, + ArrayList *orig_assets, + ArrayList *proxy_assets); + void render_proxy(ArrayList &new_idxbls); void dump_plugins(FILE *fp=stdout); void dump_edl(FILE *fp=stdout); diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index 85b5f743..9d1a9dfc 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -2274,14 +2274,16 @@ void MWindow::remap_audio(int pattern) } } -void MWindow::set_proxy(int use_scaler, int new_scale, - ArrayList *orig_assets, ArrayList *proxy_assets) +void MWindow::set_proxy(int use_scaler, int new_scale, int auto_scale, + ArrayList *orig_assets, + ArrayList *proxy_assets) { int orig_use_scaler = edl->session->proxy_use_scaler; int orig_scale = edl->session->proxy_scale; // rescale to full size asset in read_frame edl->session->proxy_use_scaler = use_scaler; edl->session->proxy_scale = new_scale; + edl->session->proxy_auto_scale = auto_scale; if( use_scaler ) { for( int i=0; isize(); ++i ) { @@ -2320,8 +2322,39 @@ void MWindow::set_proxy(int use_scaler, int new_scale, } // change original assets to proxy assets - for( int i=0; isize(); i++ ) { + int awindow_folder = use_scaler || new_scale != 1 ? AW_PROXY_FOLDER : AW_MEDIA_FOLDER; + for( int i=0,n=proxy_assets->size(); iassets->update((Asset *)proxy_assets->get(i)); + proxy_asset->awindow_folder = awindow_folder; +// replace track contents + for( Track *track = edl->tracks->first; track; track = track->next ) { + if( track->data_type != TRACK_VIDEO ) continue; + for( Edit *edit = track->edits->first; edit; edit = edit->next ) { + if( !edit->asset ) continue; + if( !strcmp(edit->asset->path, orig_assets->get(i)->path) ) { + edit->asset = proxy_asset; + } + } + } + } +} + +void MWindow::add_proxy(int use_scaler, + ArrayList *orig_assets, + ArrayList *proxy_assets) +{ + if( use_scaler ) { + for( int i=0,n=proxy_assets->size(); iget(i); + proxy_asset->width = orig_assets->get(i)->get_w(); + proxy_asset->height = orig_assets->get(i)->get_h(); + } + } + +// change original assets to proxy assets + for( int i=0,n=proxy_assets->size(); iassets->update((Asset *)proxy_assets->get(i)); + proxy_asset->awindow_folder = AW_PROXY_FOLDER; // replace track contents for( Track *track = edl->tracks->first; track; track = track->next ) { if( track->data_type != TRACK_VIDEO ) continue; diff --git a/cinelerra-5.1/cinelerra/playbackprefs.h b/cinelerra-5.1/cinelerra/playbackprefs.h index 9b1c3243..167d3bd6 100644 --- a/cinelerra-5.1/cinelerra/playbackprefs.h +++ b/cinelerra-5.1/cinelerra/playbackprefs.h @@ -32,7 +32,6 @@ class PlaybackRealTime; class PlaybackMap51_2; class VideoAsynchronous; class VideoEveryFrame; -class PlaybackDeblock; class PlaybackPreload; class PlaybackInterpolateRaw; class PlaybackWhiteBalanceRaw; @@ -69,7 +68,6 @@ public: PlaybackConfig *playback_config; BC_Title *framerate_title; - PlaybackDeblock *mpeg4_deblock; PlaybackInterpolateRaw *interpolate_raw; PlaybackWhiteBalanceRaw *white_balance_raw; VideoAsynchronous *asynchronous; @@ -157,14 +155,6 @@ public: PlaybackPrefs *playback_prefs; }; -class PlaybackDeblock : public BC_CheckBox -{ -public: - PlaybackDeblock(PreferencesWindow *pwindow, int x, int y); - int handle_event(); - PreferencesWindow *pwindow; -}; - class PlaybackPreload : public BC_TextBox { public: diff --git a/cinelerra-5.1/cinelerra/proxy.C b/cinelerra-5.1/cinelerra/proxy.C index d126cf14..90c02a73 100644 --- a/cinelerra-5.1/cinelerra/proxy.C +++ b/cinelerra-5.1/cinelerra/proxy.C @@ -21,6 +21,7 @@ #include "assets.h" #include "bcsignals.h" +#include "cache.h" #include "clip.h" #include "confirmsave.h" #include "cstrdup.h" @@ -31,6 +32,7 @@ #include "filesystem.h" #include "formattools.h" #include "language.h" +#include "mainerror.h" #include "mainprogress.h" #include "mainundo.h" #include "mutex.h" @@ -39,10 +41,13 @@ #include "overlayframe.h" #include "preferences.h" #include "proxy.h" +#include "renderengine.h" #include "theme.h" +#include "transportque.h" +#include "vrender.h" #define WIDTH 400 -#define HEIGHT 320 +#define HEIGHT 285 #define MAX_SCALE 16 ProxyMenuItem::ProxyMenuItem(MWindow *mwindow) @@ -54,50 +59,49 @@ ProxyMenuItem::ProxyMenuItem(MWindow *mwindow) void ProxyMenuItem::create_objects() { - thread = new ProxyThread(mwindow); + dialog = new ProxyDialog(mwindow); } int ProxyMenuItem::handle_event() { mwindow->gui->unlock_window(); - thread->start(); + dialog->start(); mwindow->gui->lock_window("ProxyMenuItem::handle_event"); return 1; } -ProxyThread::ProxyThread(MWindow *mwindow) +ProxyDialog::ProxyDialog(MWindow *mwindow) { this->mwindow = mwindow; gui = 0; asset = new Asset; - progress = 0; - counter_lock = new Mutex("ProxyThread::counter_lock"); bzero(size_text, sizeof(char*) * MAX_SIZES); bzero(size_factors, sizeof(int) * MAX_SIZES); total_sizes = 0; } -ProxyThread::~ProxyThread() + +ProxyDialog::~ProxyDialog() { + close_window(); for( int i=0; iremove_user(); } -BC_Window* ProxyThread::new_gui() +BC_Window* ProxyDialog::new_gui() { asset->format = FILE_FFMPEG; asset->load_defaults(mwindow->defaults, "PROXY_", 1, 1, 0, 0, 0); - mwindow->gui->lock_window("ProxyThread::new_gui"); - int x = mwindow->gui->get_abs_cursor_x(0) - WIDTH / 2; - int y = mwindow->gui->get_abs_cursor_y(0) - HEIGHT / 2; - - gui = new ProxyWindow(mwindow, this, x, y); + mwindow->gui->lock_window("ProxyDialog::new_gui"); + int cx, cy; + mwindow->gui->get_abs_cursor_xy(cx, cy); + gui = new ProxyWindow(mwindow, this, cx - WIDTH/2, cy - HEIGHT/2); gui->create_objects(); mwindow->gui->unlock_window(); return gui; } -void ProxyThread::scale_to_text(char *string, int scale) +void ProxyDialog::scale_to_text(char *string, int scale) { strcpy(string, size_text[0]); for( int i = 0; i < total_sizes; i++ ) { @@ -109,7 +113,7 @@ void ProxyThread::scale_to_text(char *string, int scale) } -void ProxyThread::calculate_sizes() +void ProxyDialog::calculate_sizes() { for( int i=1; isave_defaults(mwindow->defaults, "PROXY_", 1, 1, 0, 0, 0); @@ -154,38 +158,26 @@ void ProxyThread::handle_close_event(int result) to_proxy(); } -void ProxyThread::to_proxy() +void ProxyDialog::to_proxy() { -// test for new files - ArrayList confirm_paths; - confirm_paths.set_array_delete(); -// all proxy assets + ArrayList orig_idxbls; ArrayList proxy_assets; -// assets which must be created - ArrayList needed_assets; -// original assets - ArrayList orig_assets; -// original assets which match the needed_assets - ArrayList needed_orig_assets; - Asset *proxy_asset = 0; - Asset *orig_asset = 0; + EDL *edl = mwindow->edl; mwindow->edl->Garbage::add_user(); mwindow->save_backup(); mwindow->undo->update_undo_before(_("proxy"), this); - - EDL *&edl = mwindow->edl; - EDLSession *&session = edl->session; - Assets *&assets = edl->assets; + ProxyRender proxy_render(mwindow, asset); // revert project to original size from current size // remove all session proxy assets at the at the current proxy_scale - if( session->proxy_scale > 1 ) { - orig_asset = assets->first; + int proxy_scale = edl->session->proxy_scale; + if( proxy_scale > 1 ) { + Asset *orig_asset = edl->assets->first; for( ; orig_asset; orig_asset=orig_asset->next ) { char new_path[BCTEXTLEN]; - to_proxy_path(new_path, orig_asset, session->proxy_scale); - proxy_asset = assets->get_asset(new_path); + proxy_render.to_proxy_path(new_path, orig_asset, proxy_scale); + Asset *proxy_asset = edl->assets->get_asset(new_path); if( !proxy_asset ) continue; // test if proxy asset was already added to proxy_assets int got_it = 0; @@ -195,203 +187,230 @@ void ProxyThread::to_proxy() // add pointer to existing EDL asset if it exists // EDL won't delete it unless it's the same pointer. proxy_assets.append(proxy_asset); - proxy_asset->Garbage::add_user(); - orig_assets.append(orig_asset); - orig_asset->Garbage::add_user(); + proxy_asset->add_user(); + orig_idxbls.append(orig_asset); + orig_asset->add_user(); } // convert from the proxy assets to the original assets - mwindow->set_proxy(0, 1, &proxy_assets, &orig_assets); + int proxy_auto_scale = edl->session->proxy_auto_scale; + mwindow->set_proxy(0, 1, proxy_auto_scale, &proxy_assets, &orig_idxbls); -// remove the proxy assets - mwindow->remove_assets_from_project(0, 0, &proxy_assets, NULL); +// remove the references for( int i=0; iGarbage::remove_user(); + proxy_assets[i]->remove_user(); proxy_assets.remove_all(); - for( int i = 0; i < orig_assets.size(); i++ ) - orig_assets.get(i)->Garbage::remove_user(); - orig_assets.remove_all(); + for( int i = 0; i < orig_idxbls.size(); i++ ) + orig_idxbls[i]->remove_user(); + orig_idxbls.remove_all(); } + ArrayList confirm_paths; // test for new files + confirm_paths.set_array_delete(); + // convert to new size if not original size if( new_scale != 1 ) { - orig_asset = assets->first; - for( ; orig_asset; orig_asset=orig_asset->next ) { - if( !orig_asset->video_data ) continue; - char new_path[BCTEXTLEN]; - to_proxy_path(new_path, orig_asset, new_scale); -// add to proxy_assets & orig_assets if it isn't already there. - int got_it = 0; - for( int i = 0; !got_it && ipath, new_path); - if( !got_it ) { - proxy_asset = new Asset; -// new compression parameters - proxy_asset->copy_format(asset, 0); - proxy_asset->update_path(new_path); - proxy_asset->audio_data = 0; - proxy_asset->video_data = 1; - proxy_asset->layers = 1; - proxy_asset->width = orig_asset->width / new_scale; - if( proxy_asset->width & 1 ) ++proxy_asset->width; - proxy_asset->actual_width = proxy_asset->width; - proxy_asset->height = orig_asset->height / new_scale; - if( proxy_asset->height & 1 ) ++proxy_asset->height; - proxy_asset->actual_height = proxy_asset->height; - proxy_asset->frame_rate = orig_asset->frame_rate; - proxy_asset->video_length = orig_asset->video_length; - proxy_assets.append(proxy_asset); - orig_asset->add_user(); - orig_assets.append(orig_asset); - } - -// test if proxy file exists. - int exists = 0; - FILE *fd = fopen(new_path, "r"); - if( fd ) { - exists = 1; - fclose(fd); - FileSystem fs; -// got it if proxy file is newer than original. - got_it = fs.get_date(new_path) > fs.get_date(asset->path); - } - else - got_it = 0; - + FileSystem fs; + Asset *orig = mwindow->edl->assets->first; + for( ; orig; orig=orig->next ) { + Asset *proxy = proxy_render.add_original(orig, new_scale); + if( !proxy ) continue; + int exists = fs.get_size(proxy->path) > 0 ? 1 : 0; + int got_it = exists && // if proxy exists, and is newer than orig + fs.get_date(proxy->path) > fs.get_date(orig->path) ? 1 : 0; if( !got_it ) { if( exists ) // prompt user to overwrite - confirm_paths.append(cstrdup(new_path)); - - needed_assets.append(proxy_asset); - proxy_asset->add_user(); - needed_orig_assets.append(orig_asset); - orig_asset->add_user(); -//printf("ProxyThread::handle_close_event %d %s\n", __LINE__, new_path); + confirm_paths.append(cstrdup(proxy->path)); + proxy_render.add_needed(orig, proxy); } } + } + int result = 0; // test for existing files - int result = 0; - if( confirm_paths.size() ) { - result = ConfirmSave::test_files(mwindow, &confirm_paths); - confirm_paths.remove_all_objects(); - } - - if( !result ) { - int canceled = 0; - failed = 0; - -// create proxy assets which don't already exist - if( needed_orig_assets.size() > 0 ) { - int64_t total_len = 0; - for( int i = 0; i < needed_orig_assets.size(); i++ ) - total_len += needed_orig_assets.get(i)->video_length; -// start progress bar. MWindow is locked inside this - progress = mwindow->mainprogress-> - start_progress(_("Creating proxy files..."), total_len); - total_rendered = 0; - - ProxyFarm engine(mwindow, this, - &needed_assets, &needed_orig_assets); - engine.process_packages(); -printf("failed=%d canceled=%d\n", failed, progress->is_cancelled()); - -// stop progress bar - canceled = progress->is_cancelled(); - progress->stop_progress(); - delete progress; progress = 0; - - if( failed && !canceled ) { - int cx, cy; - mwindow->gui->get_abs_cursor_xy(cx, cy, 1); - ErrorBox error_box(PROGRAM_NAME ": Error", cx, cy); - error_box.create_objects(_("Error making proxy.")); - error_box.raise_window(); - error_box.run_window(); - } - } + if( confirm_paths.size() ) { + result = ConfirmSave::test_files(mwindow, &confirm_paths); + confirm_paths.remove_all_objects(); + } -// resize project - if( !failed && !canceled ) { - mwindow->set_proxy(use_scaler, new_scale, &orig_assets, &proxy_assets); - } - } + if( !result ) + result = proxy_render.create_needed_proxies(new_scale); - for( int i = 0; i < proxy_assets.size(); i++ ) - proxy_assets.get(i)->Garbage::remove_user(); - for( int i = 0; i < orig_assets.size(); i++ ) - orig_assets.get(i)->Garbage::remove_user(); - for( int i = 0; i < needed_assets.size(); i++ ) - needed_assets.get(i)->Garbage::remove_user(); - for( int i = 0; i < needed_orig_assets.size(); i++ ) - needed_orig_assets.get(i)->Garbage::remove_user(); - } + if( !result ) // resize project + mwindow->set_proxy(use_scaler, new_scale, auto_scale, + &proxy_render.orig_idxbls, &proxy_render.orig_proxies); mwindow->undo->update_undo_after(_("proxy"), LOAD_ALL); mwindow->edl->Garbage::remove_user(); mwindow->restart_brender(); - mwindow->gui->lock_window("ProxyThread::to_proxy"); + mwindow->gui->lock_window("ProxyDialog::to_proxy"); mwindow->update_project(LOAD_ALL); mwindow->gui->unlock_window(); } -void ProxyThread::to_proxy_path(char *new_path, Asset *asset, int scale) +void ProxyRender::to_proxy_path(char *new_path, Indexable *indexable, int scale) { - strcpy(new_path, asset->path); - char prxy[BCTEXTLEN]; - sprintf(prxy, ".proxy%d", scale); // path is already a proxy - if( strstr(new_path, prxy) ) return; - int len = strlen(new_path); -// insert proxy prxy - char *ptr = strrchr(new_path, '.'); - if( ptr ) { - char *cp = new_path + len; - int n = strlen(prxy); - char *bp = cp + n; - for( *bp=0; cp>ptr; ) *--bp = *--cp; - for( cp= prxy+n; bp>ptr; ) *--bp = *--cp; -//printf("ProxyThread::to_proxy_path %d %s %s\n", __LINE__, new_path), asset->path); + if( strstr(indexable->path, ".proxy") ) return; + strcpy(new_path, indexable->path); + char prxy[BCSTRLEN]; + int n = sprintf(prxy, ".proxy%d", scale); +// insert proxy, path.sfx => path.proxy#-sfx.ext + char *ep = new_path + strlen(new_path); + char *sfx = strrchr(new_path, '.'); + if( sfx ) { + char *bp = ep, *cp = (ep += n); + while( --bp > sfx ) *--cp = *bp; + *--cp = '-'; } - else - strcpy(new_path+len, prxy); + else { + sfx = ep; ep += n; + } + for( char *cp=prxy; --n>=0; ++cp ) *sfx++ = *cp; + const char *ext = format_asset->format == FILE_FFMPEG ? + format_asset->fformat : File::get_tag(format_asset->format); + *ep++ = '.'; + while( *ext ) *ep++ = *ext++; + *ep = 0; +//printf("ProxyRender::to_proxy_path %d %s %s\n", __LINE__, new_path), asset->path); } -void ProxyThread::from_proxy_path(char *new_path, Asset *asset, int scale) +void ProxyRender::from_proxy_path(char *new_path, Asset *asset, int scale) { char prxy[BCTEXTLEN]; - sprintf(prxy, ".proxy%d", scale); + int n = sprintf(prxy, ".proxy%d", scale); strcpy(new_path, asset->path); char *ptr = strstr(asset->path, prxy); - if( !ptr ) return; - int n = strlen(prxy); - for( char *cp=ptr+n; --n>=0; ++ptr,++cp ) *ptr = *cp; + if( !ptr || (ptr[n] != '-' && ptr[n] != '.') ) return; +// remove proxy, path.proxy#-sfx.ext => path.sfx + char *ext = strrchr(ptr, '.'); + if( !ext ) ext = ptr + strlen(ptr); + char *cp = ptr + n; + for( *cp='.'; cpmwindow = mwindow; + this->format_asset = format_asset; + progress = 0; + counter_lock = new Mutex("ProxyDialog::counter_lock"); + total_rendered = 0; + failed = 0; canceled = 0; +} + +ProxyRender::~ProxyRender() +{ + delete progress; + delete counter_lock; + + for( int i=0,n=orig_idxbls.size(); iremove_user(); + for( int i=0,n=orig_proxies.size(); iremove_user(); + for( int i=0,n=needed_idxbls.size(); iremove_user(); + for( int i=0,n=needed_proxies.size(); iremove_user(); +} + +Asset *ProxyRender::add_original(Indexable *idxbl, int new_scale) +{ + if( !idxbl->have_video() ) return 0; + if( idxbl->get_video_frames() <= 0 ) return 0; +// don't proxy proxies + if( strstr(idxbl->path,".proxy") ) return 0; + char new_path[BCTEXTLEN]; + to_proxy_path(new_path, idxbl, new_scale); +// don't proxy if not readable + if( idxbl->is_asset && access(idxbl->path, R_OK) ) return 0; +// add to orig_idxbls & orig_proxies if it isn't already there. + int got_it = 0; + for( int i = 0; !got_it && ipath, new_path); + if( got_it ) return 0; + +// new proxy asset + Asset *proxy = new Asset; +// new compression parameters + proxy->copy_format(format_asset, 0); + proxy->update_path(new_path); + proxy->audio_data = 0; + proxy->video_data = 1; + proxy->layers = 1; + proxy->width = idxbl->get_w() / new_scale; + if( proxy->width & 1 ) ++proxy->width; + proxy->actual_width = proxy->width; + proxy->height = idxbl->get_h() / new_scale; + if( proxy->height & 1 ) ++proxy->height; + proxy->actual_height = proxy->height; + proxy->frame_rate = idxbl->get_frame_rate(); + proxy->video_length = idxbl->get_video_frames(); + orig_proxies.append(proxy); + orig_idxbls.append(idxbl); + idxbl->add_user(); + return proxy; +} + +void ProxyRender::add_needed(Indexable *idxbl, Asset *proxy) +{ + needed_idxbls.append(idxbl); + idxbl->add_user(); + needed_proxies.append(proxy); + proxy->add_user(); +} + +void ProxyRender::update_progress() { counter_lock->lock(); - total_rendered++; + ++total_rendered; counter_lock->unlock(); progress->update(total_rendered); } -int ProxyThread::is_canceled() +int ProxyRender::is_canceled() { return progress->is_cancelled(); } +int ProxyRender::create_needed_proxies(int new_scale) +{ + if( !needed_proxies.size() ) return 0; + total_rendered = 0; + failed = 0; canceled = 0; +// create proxy assets which don't already exist + int64_t total_len = 0; + for( int i = 0; i < needed_idxbls.size(); i++ ) { + total_len += needed_idxbls[i]->get_video_frames(); + } + +// start progress bar. MWindow is locked inside this + progress = mwindow->mainprogress-> + start_progress(_("Creating proxy files..."), total_len); + + ProxyFarm engine(mwindow, this, &needed_idxbls, &needed_proxies); + engine.process_packages(); +printf("failed=%d canceled=%d\n", failed, progress->is_cancelled()); + +// stop progress bar + canceled = progress->is_cancelled(); + progress->stop_progress(); + delete progress; progress = 0; -ProxyWindow::ProxyWindow(MWindow *mwindow, ProxyThread *thread, int x, int y) + if( failed && !canceled ) { + eprintf("Error making proxy."); + } + + return !failed && !canceled ? 0 : 1; +} + + +ProxyWindow::ProxyWindow(MWindow *mwindow, ProxyDialog *dialog, int x, int y) : BC_Window(_(PROGRAM_NAME ": Proxy settings"), x, y, WIDTH, HEIGHT, -1, -1, 0, 0, 1) { this->mwindow = mwindow; - this->thread = thread; + this->dialog = dialog; format_tools = 0; } @@ -406,27 +425,26 @@ ProxyWindow::~ProxyWindow() void ProxyWindow::create_objects() { lock_window("ProxyWindow::create_objects"); - int margin = mwindow->theme->widget_border; + + dialog->use_scaler = mwindow->edl->session->proxy_use_scaler; + dialog->orig_scale = mwindow->edl->session->proxy_scale; + dialog->auto_scale = mwindow->edl->session->proxy_auto_scale; + dialog->new_scale = dialog->orig_scale; + int x = margin; - int y = margin; - thread->use_scaler = mwindow->edl->session->proxy_use_scaler; - thread->orig_scale = mwindow->edl->session->proxy_scale; - thread->new_scale = thread->orig_scale; + int y = margin+10; + add_subwindow(use_scaler = new ProxyUseScaler(this, x, y)); + y += use_scaler->get_h() + margin; BC_Title *text; - add_subwindow(text = new BC_Title(x, y, - _("What size should the project\n" - "be scaled to for editing?"))); - y += text->get_h() * 2 + margin; - add_subwindow(text = new BC_Title(x, y, _("Scale factor:"))); x += text->get_w() + margin; - thread->size_text[0] = cstrdup(_("Original size")); - thread->size_factors[0] = 1; - thread->total_sizes = 1; - int popupmenu_w = BC_PopupMenu::calculate_w(get_text_width(MEDIUMFONT, thread->size_text[0])); + dialog->size_text[0] = cstrdup(_("Original size")); + dialog->size_factors[0] = 1; + dialog->total_sizes = 1; + int popupmenu_w = BC_PopupMenu::calculate_w(get_text_width(MEDIUMFONT, dialog->size_text[0])); add_subwindow(scale_factor = new ProxyMenu(mwindow, this, x, y, popupmenu_w, "")); scale_factor->update_sizes(); x += scale_factor->get_w() + margin; @@ -434,24 +452,22 @@ void ProxyWindow::create_objects() ProxyTumbler *tumbler; add_subwindow(tumbler = new ProxyTumbler(mwindow, this, x, y)); y += tumbler->get_h() + margin; - x = margin; - add_subwindow(use_scaler = new ProxyUseScaler(mwindow, this, x, y)); - y += use_scaler->get_h() + margin; - y += 25; x = margin; add_subwindow(text = new BC_Title(x, y, _("New media dimensions: "))); x += text->get_w() + margin; add_subwindow(new_dimensions = new BC_Title(x, y, "")); + y += new_dimensions->get_h() + margin; - x = margin; - y += new_dimensions->get_h() * 2 + margin; - - - format_tools = new ProxyFormatTools(mwindow, this, thread->asset); + x = margin; y += 25; + format_tools = new ProxyFormatTools(mwindow, this, dialog->asset); format_tools->create_objects(x, y, 0, 1, 0, 0, 0, 1, 0, 1, // skip the path 0, 0); + x = margin; + add_subwindow(auto_scale = new ProxyAutoScale(this, x, y)); + y += auto_scale->get_h() + margin; + update(); add_subwindow(new BC_OKButton(this)); @@ -478,47 +494,70 @@ void ProxyWindow::update() char string[BCTEXTLEN]; //printf("ProxyWindow::update %d %d %d %d %d\n", // __LINE__, mwindow->edl->session->output_w, mwindow->edl->session->output_h, -// thread->orig_scale, thread->new_scale); - int orig_w = mwindow->edl->session->output_w * thread->orig_scale; - int orig_h = mwindow->edl->session->output_h * thread->orig_scale; - int new_w = orig_w / thread->new_scale; +// dialog->orig_scale, dialog->new_scale); + int orig_w = mwindow->edl->session->output_w * dialog->orig_scale; + int orig_h = mwindow->edl->session->output_h * dialog->orig_scale; + int new_w = orig_w / dialog->new_scale; if( new_w & 1 ) ++new_w; - int new_h = orig_h / thread->new_scale; + int new_h = orig_h / dialog->new_scale; if( new_h & 1 ) ++new_h; sprintf(string, "%dx%d", new_w, new_h); new_dimensions->update(string); - thread->scale_to_text(string, thread->new_scale); + dialog->scale_to_text(string, dialog->new_scale); scale_factor->set_text(string); use_scaler->update(); + auto_scale->update(); } -ProxyUseScaler::ProxyUseScaler(MWindow *mwindow, ProxyWindow *pwindow, int x, int y) - : BC_CheckBox(x, y, pwindow->thread->use_scaler, _("Use scaler (FFMPEG only)")) +ProxyUseScaler::ProxyUseScaler(ProxyWindow *pwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->dialog->use_scaler, _("Use scaler (FFMPEG only)")) { - this->mwindow = mwindow; this->pwindow = pwindow; } void ProxyUseScaler::update() { - ProxyThread *thread = pwindow->thread; - if( thread->asset->format != FILE_FFMPEG ) thread->use_scaler = 0; - BC_CheckBox::update(thread->use_scaler); - int scaler_avail = thread->asset->format == FILE_FFMPEG ? 1 : 0; + ProxyDialog *dialog = pwindow->dialog; + if( dialog->asset->format != FILE_FFMPEG ) dialog->use_scaler = 0; + BC_CheckBox::update(dialog->use_scaler); + int scaler_avail = dialog->asset->format == FILE_FFMPEG ? 1 : 0; if( !scaler_avail && enabled ) disable(); if( scaler_avail && !enabled ) enable(); } int ProxyUseScaler::handle_event() { - pwindow->thread->new_scale = 1; - pwindow->thread->use_scaler = get_value(); + pwindow->dialog->new_scale = 1; + pwindow->dialog->use_scaler = get_value(); pwindow->scale_factor->update_sizes(); pwindow->update(); return 1; } +ProxyAutoScale::ProxyAutoScale(ProxyWindow *pwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->dialog->use_scaler, _("Auto proxy/scale media loads")) +{ + this->pwindow = pwindow; +} + +void ProxyAutoScale::update() +{ + ProxyDialog *dialog = pwindow->dialog; + if( dialog->new_scale == 1 ) dialog->auto_scale = 0; + BC_CheckBox::update(dialog->auto_scale); + int can_auto_proxy = dialog->new_scale != 1 ? 1 : 0; + if( !can_auto_proxy && enabled ) disable(); + if( can_auto_proxy && !enabled ) enable(); +} + +int ProxyAutoScale::handle_event() +{ + pwindow->dialog->auto_scale = get_value(); + pwindow->update(); + return 1; +} + ProxyMenu::ProxyMenu(MWindow *mwindow, ProxyWindow *pwindow, int x, int y, int w, const char *text) @@ -531,19 +570,19 @@ ProxyMenu::ProxyMenu(MWindow *mwindow, ProxyWindow *pwindow, void ProxyMenu::update_sizes() { while( total_items() > 0 ) del_item(0); - ProxyThread *thread = pwindow->thread; - thread->calculate_sizes(); - for( int i=0; i < thread->total_sizes; i++ ) - add_item(new BC_MenuItem(thread->size_text[i])); + ProxyDialog *dialog = pwindow->dialog; + dialog->calculate_sizes(); + for( int i=0; i < dialog->total_sizes; i++ ) + add_item(new BC_MenuItem(dialog->size_text[i])); } int ProxyMenu::handle_event() { - for( int i = 0; i < pwindow->thread->total_sizes; i++ ) { - if( !strcmp(get_text(), pwindow->thread->size_text[i]) ) { - pwindow->thread->new_scale = pwindow->thread->size_factors[i]; - if( pwindow->thread->new_scale == 1 ) - pwindow->thread->use_scaler = 0; + ProxyDialog *dialog = pwindow->dialog; + for( int i = 0; i < dialog->total_sizes; i++ ) { + if( !strcmp(get_text(), pwindow->dialog->size_text[i]) ) { + dialog->new_scale = pwindow->dialog->size_factors[i]; + if( dialog->new_scale == 1 ) dialog->use_scaler = 0; pwindow->update(); break; } @@ -561,12 +600,12 @@ ProxyTumbler::ProxyTumbler(MWindow *mwindow, ProxyWindow *pwindow, int x, int y) int ProxyTumbler::handle_up_event() { - if( pwindow->thread->new_scale > 1 ) { + if( pwindow->dialog->new_scale > 1 ) { int i; - for( i = 0; i < pwindow->thread->total_sizes; i++ ) { - if( pwindow->thread->new_scale == pwindow->thread->size_factors[i] ) { + for( i = 0; i < pwindow->dialog->total_sizes; i++ ) { + if( pwindow->dialog->new_scale == pwindow->dialog->size_factors[i] ) { i--; - pwindow->thread->new_scale = pwindow->thread->size_factors[i]; + pwindow->dialog->new_scale = pwindow->dialog->size_factors[i]; pwindow->update(); return 1; } @@ -579,10 +618,10 @@ int ProxyTumbler::handle_up_event() int ProxyTumbler::handle_down_event() { int i; - for( i = 0; i < pwindow->thread->total_sizes - 1; i++ ) { - if( pwindow->thread->new_scale == pwindow->thread->size_factors[i] ) { + for( i = 0; i < pwindow->dialog->total_sizes - 1; i++ ) { + if( pwindow->dialog->new_scale == pwindow->dialog->size_factors[i] ) { i++; - pwindow->thread->new_scale = pwindow->thread->size_factors[i]; + pwindow->dialog->new_scale = pwindow->dialog->size_factors[i]; pwindow->update(); return 1; } @@ -592,118 +631,146 @@ int ProxyTumbler::handle_down_event() } + ProxyPackage::ProxyPackage() : LoadPackage() { } -ProxyClient::ProxyClient(MWindow *mwindow, ProxyThread *thread, ProxyFarm *server) +ProxyClient::ProxyClient(MWindow *mwindow, + ProxyRender *proxy_render, ProxyFarm *server) : LoadClient(server) { this->mwindow = mwindow; - this->thread = thread; + this->proxy_render = proxy_render; + render_engine = 0; + video_cache = 0; + src_file = 0; +} +ProxyClient::~ProxyClient() +{ + delete render_engine; + delete video_cache; + delete src_file; } void ProxyClient::process_package(LoadPackage *ptr) { - ProxyPackage *package = (ProxyPackage*)ptr; - if( thread->failed ) return; + if( proxy_render->failed ) return; + if( proxy_render->is_canceled() ) return; - File src_file; - File dst_file; EDL *edl = mwindow->edl; Preferences *preferences = mwindow->preferences; - int processors = 1; - - int result; - src_file.set_processors(processors); - src_file.set_preload(edl->session->playback_preload); - src_file.set_subtitle(edl->session->decode_subtitles ? - edl->session->subtitle_number : -1); - src_file.set_interpolate_raw(edl->session->interpolate_raw); - src_file.set_white_balance_raw(edl->session->white_balance_raw); - -//printf("%s %s\n", package->orig_asset->path, package->proxy_asset->path); - - - result = src_file.open_file(preferences, package->orig_asset, 1, 0); + ProxyPackage *package = (ProxyPackage*)ptr; + Indexable *orig = package->orig_idxbl; + Asset *proxy = package->proxy_asset; +//printf("%s %s\n", orig->path, proxy->path); + VRender *vrender = 0; + int processors = 1, result = 0; + + if( orig->is_asset ) { + src_file = new File; + src_file->set_processors(processors); + src_file->set_preload(edl->session->playback_preload); + src_file->set_subtitle(edl->session->decode_subtitles ? + edl->session->subtitle_number : -1); + src_file->set_interpolate_raw(edl->session->interpolate_raw); + src_file->set_white_balance_raw(edl->session->white_balance_raw); + if( src_file->open_file(preferences, (Asset*)orig, 1, 0) != FILE_OK ) + result = 1; + } + else { + TransportCommand command; + command.command = CURRENT_FRAME; + command.get_edl()->copy_all((EDL *)orig); + command.change_type = CHANGE_ALL; + command.realtime = 0; + render_engine = new RenderEngine(0, preferences, 0, 0); + render_engine->set_vcache(video_cache = new CICache(preferences)); + render_engine->arm_command(&command); + if( !(vrender = render_engine->vrender) ) + result = 1; + } if( result ) { // go to the next asset if the reader fails -// thread->failed = 1; +// proxy_render->failed = 1; return; } + File dst_file; dst_file.set_processors(processors); - result = dst_file.open_file(preferences, package->proxy_asset, 0, 1); + result = dst_file.open_file(preferences, proxy, 0, 1); if( result ) { - thread->failed = 1; + proxy_render->failed = 1; return; } dst_file.start_video_thread(1, edl->session->color_model, processors > 1 ? 2 : 1, 0); - VFrame src_frame(0, -1, - package->orig_asset->width, package->orig_asset->height, - edl->session->color_model, -1); + int src_w = orig->get_w(), src_h = orig->get_h(); + VFrame src_frame(src_w,src_h, edl->session->color_model); OverlayFrame scaler(processors); - for( int64_t i = 0; i < package->orig_asset->video_length && - !thread->failed && !thread->is_canceled(); i++ ) { - src_file.set_video_position(i, 0); - result = src_file.read_frame(&src_frame); + for( int64_t i=0, length=orig->get_video_frames(); ifailed && !proxy_render->is_canceled(); ++i ) { + if( orig->is_asset ) { + src_file->set_video_position(i, 0); + result = src_file->read_frame(&src_frame); + } + else + result = vrender->process_buffer(&src_frame, i, 0); //printf("result=%d\n", result); if( result ) { // go to the next asset if the reader fails -// thread->failed = 1; +// proxy_render->failed = 1; break; } // have to write after getting the video buffer or it locks up VFrame ***dst_frames = dst_file.get_video_buffer(); VFrame *dst_frame = dst_frames[0][0]; + int dst_w = dst_frame->get_w(), dst_h = dst_frame->get_h(); scaler.overlay(dst_frame, &src_frame, - 0, 0, src_frame.get_w(), src_frame.get_h(), - 0, 0, dst_frame->get_w(), dst_frame->get_h(), + 0,0, src_w,src_h, 0,0, dst_w,dst_h, 1.0, TRANSFER_REPLACE, NEAREST_NEIGHBOR); result = dst_file.write_video_buffer(1); if( result ) { // only fail if the writer fails - thread->failed = 1; + proxy_render->failed = 1; break; } - else { - thread->update_progress(); - } + proxy_render->update_progress(); } } -ProxyFarm::ProxyFarm(MWindow *mwindow, ProxyThread *thread, - ArrayList *proxy_assets, ArrayList *orig_assets) +ProxyFarm::ProxyFarm(MWindow *mwindow, ProxyRender *proxy_render, + ArrayList *orig_idxbls, + ArrayList *proxy_assets) : LoadServer(MIN(mwindow->preferences->processors, proxy_assets->size()), proxy_assets->size()) { this->mwindow = mwindow; - this->thread = thread; + this->proxy_render = proxy_render; + this->orig_idxbls = orig_idxbls; this->proxy_assets = proxy_assets; - this->orig_assets = orig_assets; } void ProxyFarm::init_packages() { for( int i = 0; i < get_total_packages(); i++ ) { - ProxyPackage *package = (ProxyPackage*)get_package(i); - package->proxy_asset = proxy_assets->get(i); - package->orig_asset = orig_assets->get(i); + ProxyPackage *package = (ProxyPackage*)get_package(i); + package->proxy_asset = proxy_assets->get(i); + package->orig_idxbl = orig_idxbls->get(i); } } LoadClient* ProxyFarm::new_client() { - return new ProxyClient(mwindow, thread, this); + return new ProxyClient(mwindow, proxy_render, this); } LoadPackage* ProxyFarm::new_package() diff --git a/cinelerra-5.1/cinelerra/proxy.h b/cinelerra-5.1/cinelerra/proxy.h index 553ef481..1404593f 100644 --- a/cinelerra-5.1/cinelerra/proxy.h +++ b/cinelerra-5.1/cinelerra/proxy.h @@ -26,12 +26,15 @@ #include "arraylist.h" #include "asset.h" #include "bcdialog.h" +#include "cache.inc" +#include "file.inc" #include "formattools.inc" #include "loadbalance.h" #include "mutex.inc" #include "mwindow.inc" +#include "renderengine.inc" -class ProxyThread; +class ProxyDialog; class ProxyWindow; #define MAX_SIZES 16 @@ -45,7 +48,7 @@ public: void create_objects(); MWindow *mwindow; - ProxyThread *thread; + ProxyDialog *dialog; }; class FromProxyMenuItem : public BC_MenuItem @@ -57,35 +60,59 @@ public: MWindow *mwindow; }; -class ProxyThread : public BC_DialogThread + +class ProxyRender { public: - ProxyThread(MWindow *mwindow); - ~ProxyThread(); - BC_Window* new_gui(); - void handle_close_event(int result); - static void to_proxy_path(char *new_path, Asset *asset, int scale); - static void from_proxy_path(char *new_path, Asset *asset, int scale); - void from_proxy(); - void to_proxy(); + ProxyRender(MWindow *mwindow, Asset *format_asset); + ~ProxyRender(); + void to_proxy_path(char *new_path, Indexable *indexable, int scale); + void from_proxy_path(char *new_path, Asset *asset, int scale); + + ArrayList orig_idxbls; // originals which match the proxy assets + ArrayList orig_proxies; // proxy assets + Asset *add_original(Indexable *idxbl, int new_scale); + ArrayList needed_idxbls; // originals which match the needed_assets + ArrayList needed_proxies; // assets which must be created + void add_needed(Indexable *idxbl, Asset *proxy); + + int create_needed_proxies(int new_scale); // increment the frame count by 1 void update_progress(); // if user canceled progress bar int is_canceled(); + + MWindow *mwindow; + Asset *format_asset; + MainProgressBar *progress; + Mutex *counter_lock; + int total_rendered; + int failed, canceled; +}; + +class ProxyDialog : public BC_DialogThread +{ +public: + ProxyDialog(MWindow *mwindow); + ~ProxyDialog(); + BC_Window* new_gui(); + void handle_close_event(int result); + + void from_proxy(); + void to_proxy(); // calculate possible sizes based on the original size void calculate_sizes(); void scale_to_text(char *string, int scale); MWindow *mwindow; ProxyWindow *gui; - MainProgressBar *progress; - Mutex *counter_lock; Asset *asset; + ProxyRender *proxy_render; + int new_scale; int orig_scale; - int total_rendered; - int failed; int use_scaler; + int auto_scale; char *size_text[MAX_SIZES]; int size_factors[MAX_SIZES]; int total_sizes; @@ -94,11 +121,20 @@ public: class ProxyUseScaler : public BC_CheckBox { public: - ProxyUseScaler(MWindow *mwindow, ProxyWindow *pwindow, - int x, int y); + ProxyUseScaler(ProxyWindow *pwindow, int x, int y); void update(); int handle_event(); - MWindow *mwindow; + + ProxyWindow *pwindow; +}; + +class ProxyAutoScale : public BC_CheckBox +{ +public: + ProxyAutoScale(ProxyWindow *pwindow, int x, int y); + void update(); + int handle_event(); + ProxyWindow *pwindow; }; @@ -139,7 +175,7 @@ public: class ProxyWindow : public BC_Window { public: - ProxyWindow(MWindow *mwindow, ProxyThread *thread, + ProxyWindow(MWindow *mwindow, ProxyDialog *dialog, int x, int y); ~ProxyWindow(); @@ -147,11 +183,12 @@ public: void update(); MWindow *mwindow; - ProxyThread *thread; + ProxyDialog *dialog; FormatTools *format_tools; BC_Title *new_dimensions; ProxyMenu *scale_factor; ProxyUseScaler *use_scaler; + ProxyAutoScale *auto_scale; }; class ProxyFarm; @@ -160,36 +197,39 @@ class ProxyPackage : public LoadPackage { public: ProxyPackage(); - Asset *orig_asset; + Indexable *orig_idxbl; Asset *proxy_asset; }; class ProxyClient : public LoadClient { public: - ProxyClient(MWindow *mwindow, ProxyThread *thread, - ProxyFarm *server); + ProxyClient(MWindow *mwindow, ProxyRender *proxy_render, ProxyFarm *server); + ~ProxyClient(); void process_package(LoadPackage *package); MWindow *mwindow; - ProxyThread *thread; + ProxyRender *proxy_render; + RenderEngine *render_engine; + CICache *video_cache; + File *src_file; }; class ProxyFarm : public LoadServer { public: - ProxyFarm(MWindow *mwindow, ProxyThread *thread, - ArrayList *proxy_assets, ArrayList *orig_assets); + ProxyFarm(MWindow *mwindow, ProxyRender *proxy_render, + ArrayList *orig_idxbls, ArrayList *proxy_assets); void init_packages(); LoadClient* new_client(); LoadPackage* new_package(); MWindow *mwindow; - ProxyThread *thread; + ProxyRender *proxy_render; + ArrayList *orig_idxbls; ArrayList *proxy_assets; - ArrayList *orig_assets; }; #endif diff --git a/cinelerra-5.1/info/plugins.txt b/cinelerra-5.1/info/plugins.txt index 79c54c7c..699f5068 100644 --- a/cinelerra-5.1/info/plugins.txt +++ b/cinelerra-5.1/info/plugins.txt @@ -75,14 +75,18 @@ Downsample: Reduce the sie of an image by throwing out data, Edge: Display only the edges of the video throughout the image. Fields to frames: Reads frames at 2x the framerate, combining 2 input frames into 1 interlaced output frame. -Find Object: Locate a specific object in a scene and replace with +FindObj: Locate a specific object in a scene and replace with another object. This uses OpenCV thirdparty package. Flip: Flip a portion of a video track from left to right, up to down or vice versa. +FlowObj: Retards image motion as shown with optical flow. Uses + the OpenCV thirdparty package. Frames to Fields: Extracts 2 interlaced fields stored in alternating lines & outputs them as full frames. Freeze Frame: Lowest numbered frame in highlighted area will play in the entire region. +GaborObj: Creates an interesting fractalius-like image effect. + Uses the OpenCV thirdparty package. Gamma: Converts the logarithmic colors to linear colors using gamma and maximum value. Gradient: Overlays a smooth color gradient on top of every @@ -128,6 +132,7 @@ MotionCV: Motion tracking/stabilization from the community version of cinelerra. MotionHV: Motion tracking/stabilization from the original author of cinelerra. +MoveObj: Move and stabilize object using OpenCV 3rd party pkg. Oil Painting: Makes video tracks appear as a painting. Overlay: Combine tracks via an overlayer that puts images on top of a bottom layer. @@ -290,7 +295,8 @@ F_mcdeint: Applies motion compensating deinterlacing. F_mestimate: Generate motion vectors. F_mpdecimate: Remove near-duplicate frames. F_negate: Negates input video. -F_nlmeans: Non-local means denoiser. +F_nlmeans: Non-local means denoiser. An example usage is for the + recovery of VHS tapes which look bad. F_noise: Adds noise to the video. Through the settings you can select the variables of the noise diff --git a/cinelerra-5.1/msg/txt b/cinelerra-5.1/msg/txt index 1599add2..c79bc581 100644 --- a/cinelerra-5.1/msg/txt +++ b/cinelerra-5.1/msg/txt @@ -10,6 +10,11 @@ For usage help, refer to the following: Cinfinity icons selected in Preferences (Creative Common By https://creativecommons.org/licenses/by/3.0/) . +September 2017 New Features of note: + Proxy Editing added to Settings pulldown. + OpenCV optional compile with 4 plugins now available. + New Rumbler "dream-like" plugin added. + Always Show Next Frame seeking option in Preferences. August 2017 New Features of note: Specks, Burst, Spiral transition wipes are new. C41 plugin updated for negative images to photos. @@ -18,9 +23,7 @@ August 2017 New Features of note: July 2017 New Features of note: Cinfinity icons added along with a Preferences choice. Perspective plugin improvements with more versatility. - Info on plugins with a short description added. Copy/Paste within and across instances enhancements. - Ffmpeg seek changes for ffmpeg non-stream type files. June 2017 New Features of note: CriKey does edgedetect, chroma key, and interpolation. Faststart option added for Mp4 and QT ffmpeg format. diff --git a/cinelerra-5.1/picon_cinfinity/ff_nlmeans.png b/cinelerra-5.1/picon_cinfinity/ff_nlmeans.png new file mode 100644 index 0000000000000000000000000000000000000000..e962f21962856dab584b7d217b072951ec31885f GIT binary patch literal 20657 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 z

Na#RB4&HkUX~CS(=~xVcb)NzN2^B0>zdBYxF!oGIrlva2W(?3yPoZBQco)qpD~ zybP4lDWvwHVZ(+^(ga(ul6C6TF&_%g5Ms9oa^Z=vTQGrNHG8&&5S{*`U{N;(n=Jr_ z5&^s8__0u!4-^mQmHXFIOtV9RO<=f^-05&j!P!75_~56X5aNan11A!z#HJA#@PtML zgrQ|V<8j;p+_A;8yAsN;M<~56r`r6npq$&3ZWsn z6I9^bA{@XgB2qvuh#lq6EjY5+HQ*W-Ux+pmaw-jGLX5tjloNPKj*#&=^Fkv(vgR>(Fs@Sf; z81RTNFo7DhALkR~LfGEd6J}(W3DhC3mxxPu{NR{oK4g}yGt~fGlj}WGjh|yH7hU+JBVh*l<@x;0=9eu z)2HBBDQ$h9Ar!4>35g1U@Vs7RPzr==2q@xsvU8Dyhb=Q=_!9dDGqFSjMgYNfSzboq zk;k?>!TCe#uaa=?ssLN+hP|q=;(Uowc0^PG%&0Mmu;G)T`Q(K={qrHJp35GzEq@On zW{fh4CI8o<*zyyZmnmy3_-J=<2EXWBXJUy&r;->v2n=H)oEQH9ySN5J#4rVsaWL9o zCa__;-?qOlp`84;q-bNjjL5PR{GKLUT;DSWPXTjeq~TU7uv1J-tmYiS06T@EK{U~j zsCIB7-hyX<2qS0DV@J*?N`v4ot`2{R;Odosl$>COe1AV^ycD@=@4|fu zO0>o+Mw^FgKw{@ytiUW0ObDP1UKnQ92OdzyoF$;v`U-7O#Ug<@H2;r^}pg ztR3no?KVJSnfvzJZ?}~~#p9qx(v3IXXpoDY#hA16kw82pCB?pB7mt@@bBT&|)jWc@ za-u$?#4=F>budCv);xk(6@>0r;0X}$QHbA*gvC|39RYZI=M{et-_VO8wv#fSKgJaC ztExHWI2vQ{a@3tm#IPLG>Jrr+ifmQqEb^y9;@@aVPxyX3#8t3yw8J!Hl?3fRlLYh; zM4Xe=Z;y$&*g+K4DlKoJp)P1@%Pp!TP@Ns4557cv7cN|A7i_WL#pI7j+`iIo&y#3R f6_CL09vA%&FT!)jk(Cu=00000NkvXXu0mjf`4ki4 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_noise.png b/cinelerra-5.1/picon_cinfinity/ff_noise.png new file mode 100644 index 0000000000000000000000000000000000000000..4e8af319985f81cd655339d4be57c97936378ff8 GIT binary patch literal 31033 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

D}J)InLe#9G3l51 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 bfAY9WRNLc>Z_GbD<{>D{tIJi(JPrF_%Dca{ literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_perspective.png b/cinelerra-5.1/picon_cinfinity/ff_perspective.png new file mode 100644 index 0000000000000000000000000000000000000000..47cbbbfa70c13d180d1fae232615c0a30bb42e81 GIT binary patch literal 18996 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 literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_phase.png b/cinelerra-5.1/picon_cinfinity/ff_phase.png new file mode 100644 index 0000000000000000000000000000000000000000..b1804adf718620318f9d3549e786bf3e6665117c GIT binary patch literal 20286 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 Dcd5Z` literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_pp7.png b/cinelerra-5.1/picon_cinfinity/ff_pp7.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a726896e066af196fd264fa78f918cea4e5738 GIT binary patch literal 18754 zcmeIZWpo@%vMwrSCX1OYY%#XTVrI6OnVFdxEw;tX%*@OzS+dAtw&=-w?=!Q{d-Kk{ zv(~-;rhE13%B(NGi25=jtExLITwYcT5e^p)1Ox<8LR?t!{hQ-C)JEtH5p#L9q%ttpe9-ym|r^;Plo`upSD zikoj2zmPk>BY#!K6f$pWz?s)8$NBy1s8`*nq>4?5?PL ziY@;D-^#Z8HyO{arSDBg?Ol={orKR%>|L+?SXhP>gYcUV1h`$Jj-R#>g09~O4tFgccAU*_EuB?P-*Y(V%DrCp zNb@b9^LJKkaFu1(<*eMMX_Q!PN_b1}zeeL}%wwM|G4sQBq4_f2n|?PnjzEv3=V9uu zo@@Tm4u98tm~wK~?ERK$a}_aTJLTYcUW9zFY5bUxvqY`Hzi|oKM~6?uJ-Hz|-F{F34dbuQb-4ywjn3DsZMfSmUa&f9*x1(JzCV0on>n1v%;UX_|-7)KqEy`@0 z>&Os?%^z(UI1RwojuP|Vh_17fvaZF%27OZD=2pa&dP%q*Y1 zUoGqB8inN<;&v}%Ql)9cvzq>)x4o&Y%~u79fJoV)$&=lcE<&lV`?&!xbbk};z~_Yvs<^U`bl`3^lm+E2q6~3?Da<~jXe~7XhaXlE%g2eTGwT4ybz8;K0uac?xTDW{s zpRxyBn#UY1JM@VOe_fot(tUph8a2dp3c<>Goo#}TgDaV%xPMYSeqekAT@ADeoN~?O zT3sliD+$vZ{{ctGzh;*Gf>7@>u_EX%VB0RPZG;|W?xfaE;>YTCTJnMHbBa^6LBb6} zE4&u^(O6#gJw)%&kR3;1{u)SXRPiVr9@wKG=bI*6Dy-ggzq{3YPF@5v^`J5K2EsOM zu1w0G+@?3ZN?H_rq>n^m6J9Yusf`AZ)O=V?9CmR7@6u)b(o=!_(KeN|%Y{ zBF^P(4YBh*W2!WCMv&}DmT-UjOTT%ArF8x3h_P$(^E15si9Ys7z7zoP3upat`t~)t zzzHpEcWe$rrgr)s#X&iQh8WTH9r;MD!~nWfB>@_UPoq6f5gD7I2T1O?I{OLAa8XgB zCL9-gIU9)&0GhgqjC>~)U?~lv!;N;5b|gSL?EVQg<)t`MU6wGGBC&7Auw?QRsm2F6 zw0>|L5rCIs+c`hS{Ad$qD5}rT?CoSno>^D&;MEjC0#79k(q&xKW&bytdIUR}0PaL` z*8#$#uo2b7CGqMsyr2u@786TDG@G=a5OQC8b%J3u@Z|UHd1rSt(;*UnTVXw z*6a1f^W!D4A6F@+<@koci$ymVb+cZ%=QgI~m!7VY#XL2GJXV9h_ce z!$50B5}O3d_hSY_aSUq8;(<5IXI-9gUc-i8-dJ!C4O)dx-k=50PYUxNPLyZYgJ@CRSO1MC;p@N89@?fNMNv=H*#|bO ztqm%$4cuymgamr~?Lm|XEN4upRdz>%;1Myp{73Z>d<`JJKPN=baS!PU=%({lB4>lM zv={VVkU^aG_LWRwH_;2z)`3CSCg-#!!Ru2 zmg3Yfo1hE$z}zV5ZX|2a`e=zh!p=UY6ZI&yrOOt?5b+dex;)G?I+GeO$g_}#v zE+uz#NEwD6vHdYALo9;D<>UvShPdHZTu_-N4AE`lz}rmwAxVTdDwoFHG2ShW%WfQo zLb{7GS5`=1TgFtpwq5E}dN0?v8z~+_(I!lL-v$PV%A2P&=}MT8i;Txw_c6ZqxISN# zca~g=xh6XQ(^Wl$9SW^${!Bn)FwyQwxE1KVL&b))z}c5nD9HLzO6WL*Hdu!^)L}$& z%<*ZI^lIM_y=}PqW|JHY35bz(KKyCNn3KAK=vBWxvIafr>;CVjG5?x#r)~HrLyJ-S9iSb5Z9HuWH;z4>3N3MFsoQ?vj zLs#K-f|66Z999Xgc*_y{iQHfTaL6>-O`HN2nTJXN zY8DV&WY};!lD2dU(vKbr=psEjNpuB7P|Mt3o&p4?VU&td2a%LM*?s+z>ox3QAcNU1 ztGopAsE=KLwBKxBGTRrHCb5P4a9s643!q$1CIXDcUJ0B(QB*(}j#hQZiiOPyl|U~hYnocchN9*=+>M~)SPc7=qU}-(cJ6boav`lH%!Dkp9jwi_JI=N zX;4D~U!>k7Y~BRSTfcTxD={@$gb@OoM-z35T?}>V|tpJ)QF6s0K6Xb(k5t*~754KPRQ;ge!9ey?EUn?z)U z&XZdr?;#%|%T2Z3fgaC5Bg^Y3y&NR63Wb`rb|3~&Ma5+%a?df{4hlTr&_b>3DpV%d z6c69=+44f17ADbO$@0?CgEOKpp9^zAwC4*E2rC2=ahkT*)+?@-n`9>t5TrCOQO}hf zy;bYls`3`A2J?^WcKU39fE8_~TYS9`9#DrctGre=#xUR`@Y6^ef8&!jqn>zm2thig(9p^pEkLhs2h}YyK;rgWo+JZfeFe2uiCHio1|{rk(^Qir<2Z1TJV9bv~rUG0kW_2m3Lp+KD112Hod9oFud(3G*9-KT) z%7&A)SDTetgLsa<88D;gL?DfMWkOyo}}o;%&2*&( zaEcC35Q7u~^KjXaROSY8#bqN!b;7s?V1QJT+**ZQ#f&M5p;wnGG)}4$*l4j6y8xAX zfPXHcfAB@A$q@Z&s2`#$N)3bx4DXdlZ;p9HRIx0vqm0oqLV>_T1iROWe%a3HTKK@v zkpQq$5UN$|V-ImJ8hrOW?Bzyy=}vz+()@2Cp-v#79sU8mCP6fYA1~wV3aa$b($%Jh zKVPKa{DOu&Gbr1|5C)1-?a-8}v99*-$~ut73?T^6E_YLKtrGh|uo{PesswDIIZp6v zrZ#(TPd3uCJJfNN<-ug%mkd!PlT3HX^^e3h?cSXcQ3j(lhtFbyE*_>bf4TEYhlZH- z=@vJYmA^&_cg2;*p0;SKR)&)g!?)I&e~LSO%Cd@vvLl$9go4w~6uuVHEj7!JKVZ4) zqdQOC`TUvCb?|e@16|-pSAs$L8e+b0orV!dd}Ra8J6oHu0Ox8=b5}wSF(~6RHHrbS zUlNDvjF&4je6c@Is$yB+E?LN8qo&AIYF@mye{kCv-v~b5`IlbiP(JAc*tE&-jW2TU z*omN;kbn+WUUaw+4?7KCYNK55PZMZz>Ozp^B66~gd}5!GGP?;JT$H~~%T8T*q1vt4 zQ5Pa9vTU@7tmgGk>jxrDC)_#I zs6R*wpIqPpAx!1(I}}K}{V8;V7Hviv9LZt*MfwXY01DK?66<68wPO5SoYYVOyFOwQ zlv(529+&xDn?hLB{NQ&??%@hxUDDe{b!BT1g75)cS;oxI2t(1=rZ#B<63yvU76C&Q z{#9&DmAYC(nFL8)yo^lA+Az{?8n@oB0siOTfaQ8>t3r6JkEI3%ZD&Cgwvf*)KWdZB zlhOM-^E3lpu?^%x!u`%sfE6Kj*r*skYm8l+{0rujx%v|mk!x0mk-Kr^OcmWcN_M|8 zkS*cihmEJ!%VFj=M3eggglY_e3scgh7(hQi^a#LpXGsj_aLP*VrTRb8Bw83c3sT;U zz1sIYQO1Msi}06dGT~`J37%A6kMq)EM`eAYsv&ZF+4Wyksl_iXvek)lihPAD9lWj; zQE`T^NlEFKdZb7F!Z2vy#)jF?h`^zetsIDb7^2cf*4Jxm^7c!Vi(uYTm;jqTQZ74{ zDPK^FGz=Jd8Yu}z8$n3TLs6_CEPQF^xu!E85tQ#InLphUPB(uX=hFv{fG`dEfku*v z9xX{+P46>w3+Bx2MZRklWnzGGVIoo%Bxc%&1Y=Zof?^T;SPfEPRM!L9L#RlTD%}mI zSY&!-5D4g5&IR0|Iv>mq9{^MTDdS_v`vK!q3 zWIL%d0yCW;-D8|+9hKWiEtO4RYc^;WxHJy*$B7Ea#wY;__TBQ!Pg|NW-iQyZG)V4Y zt?y){|P%0%T^$3Xbjv7hIl&k#e3#-KO%@Xcc;*3C5>wsN3Ozs{GnUM6j9D?vR zvlG=eK9nW#St`sO>vV)8mT6=XDm(#;uM|%o?9jat92S^nW}6ZV%#&Xf4R<$^gD3MV zZK!n!(+B$soSGUjrn$rYHDFS5hKL_S*aHJcw!lSC+J}6GNw!tDQSzLMc9KcM&WuDnb~> zEYuo71F~I0MP+H%+$cE~G*D4YmfMg8U+L*ghiP4%A0>ePMW{w1Nhw2dx4v^;GvNxg z5E&;lI27xF=mC)S;Z=1WG~p5~K$WYRDHutJ(U`%jrz~m6ch2Gsg^fLBIxtH0b9W#6 z2m+TgGfoVI|D8qjdKGu;r~ovkP@$b*gW#fB2@~8T?|ygtj8g#u(Y(4J=~xt5Az~*> z3k!k~vvH_c{9dd`|6%aVug0D!==@D)C_lS__ENvnpIfc$E$K5@U(14l6K)Y9hO!NS zi&{M(*v_I9cv*Nd+DG{AFQtRIaAfJ;Zb7b2uO1RmVdV;iA6H zIDqLXvoey2QVCZY{J+3#aIpiAOK+nIg7%apXD4>Fqf+B zMTak6Pcmwkht@#^*q@7-@+J>*(dsIR883o{AtKCad{Ge|O@0(VPqr!7+j_QAI;E3j zZ!@SZEO&XCy`CyDgNX{rbKFQe!@-M#dmxS19k>`t>$lQ)LIr1}Zs?`o1upX(5V-7hI+mU;{rD@u3upXBt*?ya*9^ zQH3-^>+E-3f>Of<3LSeTJCXqs z_Be0HGi~e%jlCYK*#R>K?fHE~_#o`aPB605c6Me10WeY93fUkF060Wj6=4c!baTN8 z(55j#p^ugXb=1Y0uoz-8YdTT|&R(DK*->c;FFttn;Cyl5$3>QbXS%Qu3iA=-QWBcr zad@~yylXwUQF)a++XVSWhxAQ+rPwc)*pY$8?8V?RO&jG10#O<1{x}@&qJYGEW^dVn zx1lfZ0y?by;PX$fK=8Y_Q%3_Ue)5}>J`7TwDc<)f6}TTBoGiX-QE4WpoNL(;%m||6 zrV{l%@r_<22lpNh<1z62rYPSA{7i@I7ow(L?w%LId_!(5a?-c7g2x&6iTZ3Nr5E8N zt5HU?FRWlO&4&Kpw-zOglyxBn{D~MzfWlje5Q@rF;>QXdG&uXS0?W=0DupUcIpo-T zi)zoeg+gN&I?=2sVYP1j&d9-$ZgG8HlEF!yST?0!@I6={c-#$($3R8F*ZMx%|0-2w z)SBNdv#?9XSZ)eyeRit6gcE}htZ%);rQYQ{E9GVVx!>e1aA9!znP%8m>h6JNWkpiabb z0i(^*nd}+3pZG$(u_a3E+2o$CPq9$uVI{~8##G`dTHwHodry*Y0hB$B7l5GA`V4~k zApoDYP6Lx>B#RB}ql+TAjodieb%C_?NYPd$IWl|*<8xr*^Ty@t$oaVKP-5qOc~m7a zSw`P^!}&?9qdNA6qD)pf!zhz_PH42 z$IkqvpAuWQNUYb(=FWa7(;;QX)oO$ov?WZ>+D8V%mtcl6_R@}00A`f;2Q%k|^OBB~6 zgB;RHvA~f(ZeW35M4lk5V!*P2WSIq_X^CwizaZX6Ma$SPCt zLy2t;BnU<&Uvo|8i$gSf?a*Os?+zFs6h*`DSL%r~cEogZUh?bDH@6rypX503ZfZk$ zT`0UE9YDLL0G!=By^!)_+%=Dp(fs_R@ zIVdlH#4Gw|B|15h9gGnn41;2Wr-N_SxQxs^1OpAaP;8x5JSv+x9d$fS1|&Oo%rt0) zNjd{J`5^H4bY*}k7MIqNf=e>)FnOo%dwnS!-c3|>lloY1gM_-Cgh~x)1`?(0_$RRp z_HYz7u+*<9WZ|Ofd_nX%44Sd+3pz*6f%%JJx|aK;i;2K&ONn{-w8V(zP}bjyzZ>Oxz)Khwl)aD+p5NPt(x59Ph-`tfa#coUaTGd ztQafh-Iv@|^DlJ6Y{SV+stA-k%bwH_v?;GpD1=B|f=XPqivL0IJqw|_^cKp&%PXRp zU3KvbS%@iz7*N?FP%@WN+-{yZ;2;lQG(_rYY;q4}b~Y5OrhiZ-kJHW~ zrH(g?b^~sj@kmghg}C_Ji+HzO_;cA_Lv`-hAYL6|E46)swczn1Di)}aA?&*)k!;-8 zmXeXm!2aP4Qj@n!83`TY518(Oqf5AkzVa(i`6WL_n;)lbf@UTh6$c$#CX7YLP*w!& zp}#hU_-+_DX|bjotQ|hdhPwOdDVV(%yj=eWk42TB5d@vmCx}%Qr0&*jjVx9k0m%g_ ziHr-xWnydyKlG1ZZ>=j-#-UfltG(Op8{6HAcAd7TLcb&gz_MQT)!bBni;wl=xD@eY zC?gKaArZm+0{x2ev}i7XA%psfOM)#wW|9BQ=1daRQ6erBcRHZ7BEjoSIi7}cV{#{w zh!d)&QGt3@9sJvXvfg0u&8Z0P)Tut{eYS1P;%D>@4qxYbT8p=f-ucSJ9f#u<;XNzt z{7{$Ps}4}SidB4C^WKsc_yxj}s`EaobkFhOWh!%sy%(27+cF+gr;vKRuT zgs`3$Rb6OIb}5YIW=Ze}dIH4IecSZjqk@VqwMiCmGl-(LiC!9N!&}^D0Dw4C33bM0 zh#WvGH_g;|pykU-7(LnOvZ@&PbxPAg6;KCRv`zRq3rV_VR7z63!cxZLXw6>|WI?mm zaGYwiA6J?6MW85l{RkyA%HzQgYp~KXl_S=X4{8E#9K|J^G2LsY$XMLUKaF3*x~WX} za>wY6oifTEAPsB5M}%jz@9+tPdWgB2iQIl`wV}X3jBA(_2_`#LEn#f6OcbL~LYu4q ze&$+H0#O?9C<8|_uTV~sLJ(r8<>Edu%?KR`$K`<1umC7jkuBLX3G45K)-h zh3qbr&O8Tmo6hiKn7f7QrxHqeJa zF3ZV});sZVoP*Ln2+Z1pZkC!RV>@Z1<#xx4xQ25$^Y3);^~$a)dnFW!P!^%0Hfx=# zauyDPt1uH|-phZjUCJ549Qih?%^B=S(-oD1 zBjlQvy3GU~bO9nkwGvW9k|k}qkg4cINhwTVnI%}%;A}HtP;sh%WY+#|5#uzO1O|~v zkO+V_s)(07z?cDJU6oJKkZS=%G1-c0V73LDGLp^SS4sWaT9lK!L1(^nHaK9#;Z!J? z%--v&>~Mm7@X^)q`CFPJxT+dL>Xm9+^q0sE7y9`vrP|khID$!~s@7bu-3jh%=%-O$ zYVJpPsYPez;GobTKRc8S5l^Wa1Z$eFR_T;ZAIliVZC6f))j_VyI3ZA7ktqz#oOvD~ zz_1C1*P3Q9J}xXIfu7iLR~7)_ozyCu0S1sCgTsiB_C1`YWsBtc?Nyr{AVM=C&S&@; z0uTt8y2UebueYt6W_+l9vC6R8@S0C~-ER&CjGaJ&T$3BCb{PFn4uHZJ?iFh_DIwt2{cyt_d;t zCaH9i-a;KIU)#w~O3L5H0)VGn7xkEmSp#?6`A*GGT-v;-J+HcxPh0#X*2jqQb3*dT zduPU5oxo&7x}WH3@+8Fjm8VK<#DTS3o>_*1j(RWTF)JZ4ZskRhmo@>pB6@f%4D`yi zQZ!Iklya1IvA^6yk!CA!Q9|7yeu1QcEcI|uEL1>6e5>@x@0)xqkvra61Lc@mRr{`Y zl$UtV{YBY3V1;yp;SJidX91}X3JOTaj;B~=F~W989>fg@`8>t6acj3ynx^sozn;J8&g+{jzMXV!;9|{pl;(dyk;!*>k}-qJkOS*hpDcFxDZhLo$dAP;gK$@efv5=pBSd_Wf}h}{?>k5P(B>^4NNN!_j`4xe z1+SznCIFpscm+x(m81B^v@dlWu0gn!;qS z)m1hGX@q_btt~UJucEVS+p?5HLo~K@k97&JnDDnF-NBjpY3%FndqJ!mU&BiR7^3}A z@Pk6{#++A$)^=zzADI?@MVbuEImru|TByWyn%53(QQ1awAFGn7z7nNK1qzky*=-U&&rSd; zA&X|#Mz#jV3~ttT?_q#|@bbIa=^I)aI}sZgo0{7INzdE5NQupjfTU_{G5{I7PsV2E z;vNphN*=Pxh8~uNTt=k)d~m#O-0uX|#!mXgZq`;dj@)iQ(m!~)-?x8vGm;Yj0dcYf zlB&zd6MwRGFeYYYU}XT%i@2G)Fq87Z5%W42nQ$u#i~dFN-U5=EIXT&JGcvlmx-z)3 zFxWbnGBR;-aWMjz8JU^s-x2hV?lw;PZuB;eWWOo? zkd*X&Kk;AWzm*knd++?q!SD7T^o~wOj1un+*7xIi2QV@N0G#vyW_o5W#=qOY@0F4H zhqaC4Un;)q$>^qU$H>G0V6?XWZx)VDA};^*_b)9RmEYGxGAbH7+B!QJ8jH9X+c=T^ z-Km|Gv*X`=Iy)Nw?)oEcDpgWkl@kjs#rg;k$RpW_dz-@yY|Knd{{*QT zJ2<{)?Qc#lhClrn8FGuh^Xb3mj=8nIsWGFSjp-i-?-6r){UrW24`t@>j74>6UB^Fn8Jg+am>R!Nlz&yp zfAyRHi-cujGhx>^-~!NdaWWgwvof)p&>I*Sv(U4fm>6&vF#!N99DgS4KiC~@O`Kfy z9gGD{-^=KItlx|1A7f2S{YS2S{O|F∋)XYiF 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 JCv6e>zW_jr@+trT literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_readeia608.png b/cinelerra-5.1/picon_cinfinity/ff_readeia608.png new file mode 100644 index 0000000000000000000000000000000000000000..61264c403fcd18e7c7fae7a7d888d1636242caca GIT binary patch literal 15056 zcmeHtWmsHI)-CSAo#5_n4Fq?WV8I$_+}+*X-QAtw1P_`(a0u=sI01s*PTu#MdFS4_ z^WAx#`~4euy6LL3_Nra0_TJTpI*}?$(yx#Rksu%-UdhTxsDc0T{(2$6K|nxmeBGXg zfFKs~($IEM1GaI6hG~ytf_VeAH@P%)OKaoG9dX9w6 zvMfYc?g;mRe#1w}Ha+)`Cl9WjW9Y>jd3!hO%A}{(seAT*>je@|t{?HBniVRBOflQ~ zCZ3&{PT#bx9VlvfUOMR=WwL$#;s0#ycfEb~_|!eaf5p;Rn{Peb-mMl7q;tAYuSSRv zILj*Q>b5@;GW5d_1#Ud4S&pcqSj&Obvw(l#dmeWx|&-!CXCNYC?l{G zM$O1$AoJ+kVg7|i%=}NIz7c-tkm*T=pI#ediP7-Qe_Qq`Yxk~Ie)c4=AV;S+jVh^f zLC}nee57wo5*G@^R+OVJPqMPAJV-E6;y*|VRqYAElxOHjQIluv2_v+w>PXYIuI~AX z8_+Q4#8@`JpnE3R;{5GXxq#O7n@0r7IIc^&;y9jrDqpi4%Y7ZQT-%#HE$x(-@#>7X zTJL+NaH#e*F60<@ye^$KzjNXwiJ=LSCKD6Ca=MzoH zntthsOv@)5MSyWNgK<%WkT7k)-aJ2ih{HcT$)l`Fr97vn=8&d76k+uBQ~AytlUrsd z;n-~13)11Km$$nyVz(b6a#Ro3N1yoZgd8m}z6_9N%* z;Zs0i04=FQF%wklEQjL|mUvw-yaKI6rTO)?$0rtBnlHxJ?e82DxuYx7=YX_i^`C)n z3tSfu%K}|RfkOQ^SZZ)ikB3Te39lCww7=Y)I^#X3WsY zeB;4O6rWmOW0vTnyOij?+&p)h1|KXa`=&Yw*GWUeS>w;3lba1gzV!O#B=jqkv}pHs z8l19DeFE#$B;%8=`Wz{8{_4mQ^Y6|pub4W7PPP=aK3&&%XQeD(o6Yc^ZWs@QnDV_4~Vva(6sR|ZfnW+|>VG;f==57m1U zGtyiyJ}d@u^I1Y`7P&VG$EHX|Bc>QejbU$3B7IY3->?PZwm(c!C+$yBu0sS@VKU_K z&R(Aid(1u_>N`26iz4Zmg8!b1guzXgu!WJz zQ9R7+lGjwhnK%?Bv^^q=Z8bg3Z9HX(FH!W>c&dj(vC)Gf%0qCyTncQK%UPzWRCMNg zpaC^;!}REo39l!K5{Y@epp7;48Dfh{oJv_A2qvK2c7NX~6T2c9Ss^|Vq%9(7{{t#( zAduT0d-!-J@Llsz2T}%SWjOneNO3z!axvK!)l##K)La;gHdE8izS~-jRBuAoTS9*N z3XxH)qo=a|_CON*f*)l+kGftq6|b)1Pd}52qM!$LkM-K3b3gcm6(N%s6QJk~S=8S;)pSjbj zT=f$uREP)}wKb8=?=Y3EgJXmW6FzNjZ6Vqwv+S49lX4*^C3q)=O!Mc!85d*1PZ(gp z7$Q20Wnf>ORx(MEKGldLEYl%L^+1Mk!;sniR4WufI~t@Kn!aL^?~ixWg}Rna)&thP zmwbTT+t}jfKqtnaOE54C-WwCJ49`<}+_e(9g)cCt)QsCK{<@d0UhrMjo>ybGd-HO~ z{iQ#9|5o_^DSLlMpC*1260$9LR4M$eia-JT4d?ql?$Nv^ppdvdZU5oaP$o=;%#%CE^`q2_5Of-zJ)GQds64WP2BYJm*Wa~HHw810^1Qmzv@0$?u1u~y6z+aRhF z7ij?Q8IGaORCz|B*_Lrlyw4;MqgAScl~GHH&@6Wwjt}7(03PWk+fYvS6uszjB_LD} zjFQq^NaEdBOJC4x9O*906Wpahg#j3*(+`3b!mKq$pJtL4NIJfqgzvUEOQIaJ`%he( zsu@_~ox(<|Te7j;W2>2N_AiXseEaT!!PO8mCP?S%`1X;R0NC4&{H{3&;hAIt=D6cJ z;R?~WV;65lO=%)#?xK7((_7dmhFU3!fQ{cKfZO5KCyyGaO#8E9>J(8W1zE{#Trp9$ z3L2OXo!q{4`xHNdf6CPBJwQV6zZw1r)amEgoVlo~vYw=7$?mHTg}J-(5E2wtNJBkN z``i#hkX3~v+W`&Zg3gT%uyg8jAg)Afw>5`Lg3Z`}1%ouOW+KW>j*sLFw~IE7m@F3O zB(U$O&52NtYG!tk@4CI>!^XD}KuD0*KY(z)vpLgvOnZ*aKb16c4q+ws-D?*mW$*Rz z)XMNw$;W2M7yw2aG!o3=V^$L~hU!kq=))`Tkv!BHq@x%!djYR)xplIcY3ufA8$b>< zOR&L3U$iI-3cVR?#2SI}%Bf9GkxZ&%(oZ^(?>zP4VPkcV;y;t5Wu!;?@#XqqlAHBV zDV!`XtYkW|hk`WVhP6wV?m`HQ8r~>`D-Y?|U^xz*u!LXM8*9@xDQOp4MMQ1qzWZ#- zkX*h!7Djd}kz;TE-UnjU+=~VxBdU%OiOlp1V^lrJWn2!qT)Uul4Y?$`IYM`~g(#yX zj$7R~7$I?owXx$Ihkm-hh>>Jw2wjj0jlCjG>}v+bcU%@o*#?pByqR@wf^f+ZKX`0X zpP}{uVlH$9(bGUC3$(e7f%{iZ5cE1KJe)=}G<05OBm_h9M9KnG{uJ%lw5OOnHoN#% zEzNgz?D>s_&2=rd^(pelI%GmfGx|&T_><>$pB-z*Dfkdo8b*+t*qjg}p#qu7Ffl&Q zsVfl__acs3o-@!*x~5nj?SERUXOJYF@lS!0nCRw2VycgXdj~USuJChR(G3RG;Lwx_ zYoX1BuPDVh!~CiSN@8;!cv8NdcZ*a>K2L>BW-W09=x=M5t#91KJW6OV-PfjYXvD|N z28s#cPjAgG&&$s)v%ghEt{fJFfGh=4IUr_D$_MWmPfZ+&0=) zB3%kHN7C-dwF_H;bg(K&@vDJVhQ4@^2A^wbO!0JGKOJ;5F-LtU700j;$(L6Eu^lO& zbFnHOtS>=f96#~gqLBG4V5#0ZFcCVN3Qh<#+P)-GX&IS$mFcyNF`j+97UEeg1|UB57jN*t)Tcz=4F zhEPDK%^5yPAiz#mzyj@veG!+&B{BQa#~DX|d%;!* zg3;pSGv9lI!t4|#pH#9?}&G6C_mN*%X{6$Zw`s763UH@bx_fS8XB~X z>e1|5V@tF)jpGSUk-1BIgeEb`&Ge4#2=-Zh#sxtrebMk}hiKXCbu=N7tQhdEPu)qi|?Ai=HPNUbYB!npQQ|iz*e(n5ftP!8ITUEE> z3p?XcUwz=M4jb$8HDk&7q9H?FKjIgMU8|h%wog^#hp4u0EB6n~$R<*48|YWUyhKRxn}HlL{9=4SFvlQW(lIy20T~hqE$N%)N=Pi5llj zLnn^qPRkO@$s3643k;T<6s6cSnqiJ~m<9S-CDt$_Gv!ZwLMYv6lekEFaB!v91w1KL zaLCA1t? zK*~|!l*G~|GUQ`TB)H3~#s)D6T+wn|_L4RUx_1prG5o=9D4p6wQPPy0E*yv&qAipv z?Qf}iYWPB`t8VJpk^8XSI?IW^A&B0H15_g|tktO9T^n@V6DUUBq5IODtm;{6VNylO zOn(#a%aJV?t;2do8Q+tvJ>H@c%Zn01;M3jBOzY>$(NR|>DKYyILVNs!Nxp?*8&w=3 z8ijy!e8pspjC%2I?~!k0T`e#2UAR3K(@V@id|@U`Oe9Z7Ln-Gi zNmwI(Av$IXhN1~_pRwQ zf~*9ZacC5AfmHax0x{~cce!>tf@DcMSu)8pl;6CKZ za8`qmvkz%pA(}(9N;DSTs*)vPBRE#1gyY#ei35D)E{tH0QNJ8eeFD+A0x%FFLxhJ1 z5`R_@z+`bDty1%ReVEzu$2NzN` zQL##{1R`soN}dYxUJFc?(%!x(G5ocy+#nE9ax%%D#j`zu&_sk~=ZyRZOx#*_p_B+l zCP@Nex5Y;|D`T>o8($WB6(hs&4U!e6UN;vjWiLHRehk&SOxvuLcfOTU7fz<5sT38A zA_=aRKh&l(+gJmYa5N|@@UzlCB`Df05tM048sj7mL}YTM1{q-&_s2vs845YkH({+i zNytmu0VhP8s3Kf7qly7G3mV17kWzK1ll*R6TQ6yX>{__`veOv8#Wp~J2pF*jl2=Kh ztFIa9IG7qJuYK~%$a;zb>^4uB@wd3ni5zpYsq`wyZCBK*Rhyu0H%C*rl9w|zvQ4qX z7Yf4!b&TfV-6l`O6D^_5f>YkvzRnpRe8vc&#=~dJg2SJL^LJFmDa_L5_nA!mwkS&+ z0;3GyUzD{-6`6i1*Cf=3C8x$%(W7JaCYzqKkU1#~33hAjjLWI5jSrnO^s6!A{8LC$ z+C6TBHVAzB;|` zQf>0!v+`%LNLf@~FhKB}tNhZH3>PP&VC*=q>XXF{K>|YRMfWl$iTPF#(W7=nh&PRC z4Fqk%hIw7n-;EqO)Fok<|wlgqzA(|If;8Ww}46MWe| z4u=dc#euu)ASTCoVY9-=ADz?BZb8OW3axxrBrcd(AAl~>L`8ePzOppqXHeyF*>zIv zrp7EaUJ4u(QEJ7%==2f0riXNP>Q<*7j&sXytz2)x5R2RV8MVUnU}py39Mo2$jag59REvnTl#_!Fo^BhWE_hB zB>763XiR~-Ivk;=-|BTDZ;jv|#Z@Si6C!DRt!gNljms3fW29JQM>~2bMmB+dmo;r; zF6Bdy^bg^5C#8qrRxaPY*KYDS5(` zL=MkZ?RP}VL`p2LLYQ?~4SyQI;!O~i571Su>=Px+wYU(!hi{NPX5APJwEB9gzh>)tloyt5MFi0S_mF(HvN~f~Co0;)t20_I z;k%{pK|)YAg)@Y`FYh}}(iXpN6qcl3dB(Q01mS}x zvOI91_@%>*j%ZA+bpj)(cp8XKCF!;$4q?on_mH>Lf*ajp>N$hI_~o@XtUxy$e5tBk zN0%8pY2~4a>AWn;kFak)@r_LQAH z2_dI`USeI&75Ht-WbZo;f%Z?(m3go@TQhOvp#rB*w!GEJy_Ux?hYu9(Ew6YI(g_Jr zD0D5~SK7kZ1{F{kFOUq(Zu+gLbBofq33J@q4VEo|X1Vg^m(|}_}C_kHb`*n&_C`^uUjnhebEKG{c{ylX@ z-LXSRj%vrEuQ2uXf@gWie2+9u69Ti_k8p2ZfFWMsiMPY(hnccD^e3I{UBz%0`$Z2( z=GZN3&g6UIe%_!2M?%i12id1k?`!k31z&lYsZ%46_DkVlamj3dU`;crv%C8brfmoc zR#n_ID9*EyWofygn{44M|EsNf@H;>HllIAlNbRTg*g*wHKTFGZM9SY=>1Ru(`V5fS z4pVj{t7AFlBY9&0cBRnOG#BGBJE@#nW{LJ!;+mF=DEOj1=F~`eLfU2yo3$t! z@Fnu-NPRd;@LLWdI^KQZ3Yki=J2bfk!DO7U)^jB~qmGK%jOHp(AG?#=NUmRZ1rFOPPiHQ%?Q*%A zE>Vskp=6S%GwZazc0+9o)OC{yqGCluzK(LcS<#BSZRzogloYa>n7ZfK6rCSae)5y+ zl76pBvr(_{lqzmY^BDgrKQq6ZD6tjL(#H{?jKBdS+<O( zfbW=fUb^nHQLpubA*X=v%gid_GM;BKOrqp__hFiRHY%6W3V^vkBki8;KUWeA1el)g z97ZYE>liaI?3QDU_hlJt&yjz=90FLcV6zP~W|ct?jxr`e;94J18VCz`KKjise~FbT zx6@}^`5Z1l>lTCE1sjfnrhQv};)9qdD6z_QZyOm)gG{U1m0HAn>{jre z+Plin6+XRuhk<=Up4_Q*FcQx~U#*F|26u)PV_I0o>rqd=m&gdD!G#5v^}3JCg}C+g z(vZ@?*~hKzGajo}~X zDUy2qVH3O#WhdBq-&*ak2!n)EH~7iKwlt0kl@B{?SINmv zoeM9Y(gLO2!(Z#I0jD|knUT)E7X$>FoF(|!R$Ea4U}A5}0yMQZ2C;b9I)L4PfDjb+ zZ~&TEgIvgrLFSfrLKJ6RA1KHyO@%15xE0wH9mGKvmNH&WAayS#4HGYG6Mj<);WtQv z9sn?bEyx8(=3#4N=M3-=qWH}V0Du0~%}PP`8{%RuM4_#yLMCqS1R~>N;bLK9mh`Z6 zH&0MWoKbywYB{R z3uhNex4)0~Pc57^z^CV|Y9MEOS0@vYq#MZ2h4Qb1I@q{6|8-1PXV9;%-+tSenz4eN z`aSYrZKP!tRsLr4OGa}`TZi8kztDe0nwtC#=iusO^BZGo!V0nh*@7K$1~aq&10HPu zH-mpVo!{iYg#t*}o4EdBk(Cgl_~ih=)ZWC>6!7~aH$Sh58Hj_E83^R%XXfHE0W$M( zgZP*^xj6VtI5|Lk+-$~wp^~+8b^+R%fPPVd$yqGHJnW|YX8in|9L&7z+-%HTKrSw3 zeok&6vx$ibk0}oyJ1-mWUn!KGEWx1-wE3%7zo<;XRA%g)CY)yc>|h^w!BqSpUS@uN zAc&cRgPYBSlZT6)&6Mr8H@}1hh^oj6QE;&QrANgE=wfE?WGh6WU}@*-@pq_(r7cL^ z1^7!eu#-I8T-+R-JRH2-;9341qzQ6z21o5LPJR~N-~Fa004XpZ5F9&}wm@?btAm~S z?+aj$0pd;|po_hehP}Ow5XCQ#$iRlI94zc?zq5f%@Xt60DA=0-f91n(1CZ&jRQWSm z#DM0kzng-r{|fwnFsWPEyW9Q0@%$b7Hx^MR7k7InYh@>8V=It}%fIINXW+jvse#Ls zvx}3b?0++<{|zVjM_|f;ZS9>r|1!Qh$nlTXAGO5B^0!oEWWVzl05tifq7a2M&<$kz zdl|qw{&C5~0%&Ir0vF0Zv*f?}E&oZt@^SF+oAUFqG4t^n1DV00zypqcep6;16Jrxz zc4JPEF&EE2vOC+Gxwr$JK%(a0Gy<q?-oX=`q82X7?sorj_e@oy0$n_t&{w)RmE%1M$>pyb+TMGPJ;QvI||2Mgi z{(gfDvIBqFa|hr4-W7W^vc&N37P({6MC+^SMi zUF+ebAIvW~&Qrcm8x!*P22^i)Hg4BDUOLP>4(bl_yx$hcBqt?v1_iIq3wvE#z!k#Y zN5{weM{P2XU$xjQa|Ggy3=NIGt_=ACPb%Rj0EV#PqpJkkRlsYi=}8_(pe38()v@5oP}tVay%62^HPiGY4jxe6zIoLL`#3_@_AmC z=vAsw^ZDL$*{pS@%IddRV8jp$;D*G3->}Ah$bHTiKJdi4b4%wZ)FgN2OkjXlti0@E zj*yij3_hV%=D;YtyE`n7kGW>zG##B*Bf#!v>T=qX6U8Cs9HkUK`&l+HAZD@F$^Ce@ z6EEU-6zXS@1-b90kT{73rAsg9(i0D^D)2hSnVPNVbLmPK{mZ+j;Qhu8n1hKAR!?e{9pVsguHo(WT{Fvm!DiIrh4mp@1rn&-ro;^h1d35X|Y5B@bj~0p7dJZs=NYPO(w+^{3tdS~_!rnJb z>SnL`V|{$if@|vQs5m||rYk1m8T7gohS?v=^mnr!y`!yeW5|s7Sdoa#7QQnQYZ!{W zMCROGYA>3yP+G=xXkHn!!^H5K+iH%P>U>uM6v&tAoW}Ir9>rfDIRG3CTN4Y?Qqxcf zq!ZG6w(M-Ik3oV*eXYHn1!O5<+QQ0tiDTwqm0F7&HrB_eNi<`|Beqy*9fw?Ot<@57=+PHd>ozhCdGS{o#0d zd2g(z3m}cK20!Hr#76JM5O8kx1wuEto#>8EPKJnwql(JOA${#|hPOD|j%Mh9X4I?+ zcw4P0YGcE6_wy$tv*4j%U~X`9TSW6MDx&pl*{f9u%hK`D(LN#Zuux>YrYwx$>T1Rb zVZTRw7QJ?e4^KBlyL)^6kyx}w<0I&qn=l9jOm^NlBj_nUWhxHGWuH61AQwkKT%!Ac|5ejhSam4`-in0oaDp z7e#&h(NPEk>q0C=si#1SlX;%Qr87kAQKwW6y;tvcvcj}bFqC;P1I@Mtt|Gwf>ZCew zXnaq&#MI(aABw@+xa5D_OE(m$o+s3Yj5}}`2tjn%8^_U9>T+JJ(+6(!`il6tWRQ1G zPpd3-xwC%lbVW9s%7O*hCh8UiVNgnm*x9l02?z{s4Tkp*55va2<{$Vpxyyj=cRW{F zlX^6il9e^iARe*1YdZ3|Yjdtrz2@zxBH41voE7(k{I25D^{leP*}9OXh|*-8ewX%^ zdA{$6!!;fTM!yf{rSd4N=ULBfK%5;m)|Oc0DY)9zc(PMLovgN*e?sS1m7t6)LNNc7 z6WHZ`hRJ+Y)9G?FfIpha@Bb`l&7rG0&0SJ~Ra_i^d>?(jJBB4Sk#M)z?diM_aNLZxv|4{0&*HH~ z%I2{RVmBG-+Z{_Ls59vC!afLKe)nGF_H>OvsdxrrOV%LsQ_2X#YDOVsQn(;0&*icb zO9VjHKB0UwEy+xv&Gt2+bQ`~ot%P#N02BzuYYr~GF&~{w2@39O0qh4#-=Er&S~EBpu5WCQ!br|+HLS|1 z-ZQWw=yp}b3bH;noM<_FMUV5T28S7tA5s@4TMd`sY3P2;@)P<*`s5{Wz#Cr5ppLm% zdoWMR8zG}pf0YXB>I-?j=y=;hRZ%jfkM%+OO7@X7-mE&69w+;NmPYwvsM)|>uU5cB z2fg!~(mt1_&p}`TAksX|UP5)H(`db>TJtE@ypKMCFOoSlWyNAVr0xYq=M zL2o|hM{`3N!pD+T7(}>z!ou_CGuN@am*cXNcoZJE;QNu!J4WX$&IXZDCZ7? z*0LPbLf_Wt!61v}t*p21;W6SGnz59=uQ*rFG4b~sGCMa+D}rNj$AKGy&gkBEseg}3fBF28bWwVGcF^j_<9 z1%DTSmQr$YK`FJ4H~*Z+uD3UyO0cm%mA!TU;~NTX#dmmw#Kg6k+SKBXB0_E}2>p+% ztEKB*dB#lgn&tP^Z;X8 z>?87iaGt{1+uI``BL`bA)-_5Mte>BsLqt)b3;WJi;~<4!AI*l36^SG2?@Y(Kh>Ai+ z8&ALG(f>G^E0Dew@$oS|IT>2W`v&G%G|Fgt{#8$WL83^)F$M_<>YQ_%{f60NdzcKS zR4z;>>%c7r6GBLO+^}va1p!zcjvKNcsG+Kd(gTtCMapxl8tjAs4XH3SDkOV_=&_Op zB!i?z@N=ifo*V;eMRW*9C3Ny<>phV9i4D9QIcY4Pf`Wn|NEac7UVEHwlQ=@pC=$z*vJB}!7pFNDaav-IzDY1t#>0-kJz!f@`< z+1E~IO6uOVv1E_VWz9`-X;>zypM60uxFgjk#bgeB_OM|W5Fny!kZrjR3skGttko7w z#6^%ZMK3k^7{}i69s1=pF)=v+kaa}!dIke676Pf_B4joK_NxVn`gC$p5Z6Wp2{v-E zrI>8WcXtFJv4G^(UCZ%lDB~Tch|dnj1kXi60xEpt?Z7ii>ie=d5B2nAZlEjK>JUg2 zr+o3K$&oE(55_jOcTp$oK9J?DVIX~Pw3ehZ1X6~$W(FGUG^LY=M`F?QD zE$vLTcui}!O^R)u=1#Qzc;j3fSkuEF=mqfKP1f~jDQQmGdQYhomGK3Re)tma8>(SNB ztJCaEhI(_OT2Ot9_A<(#c%2UqznNxy$%rRbpmlmMmswW(Lb*u$U|+Tg(g=Tg=SNY-!~0-gocUGd=yL zBj)|Soolb$XXV~`D&u67l7b{693C792neFIl$grLH|L)Z3={|m=*H^y6bJ~N zgSVQNtBR2az|q;k+{)Gr;OgaQ1~BuqG6wc_(FIimEWKY~?kDr+0__lX5Ka75z zP`PIYFH8*=E?YHmZMlkKL^9rc2SeUnHMxBH{=Y>=H-;7rh&}8AYG%5yp9QXVf~7AA zp3MEQpE{JHbBFpKEI2#6IBy)9Zho(f94x55R`18@ZTb*=xXI`JYc&p9M-58oNkl*tC-I@1hRCuwI|JrdjCel?y z{px+t#pk3_`S$ScU$^E{(&ZuO!Ra!fGUw-TJXE#l(T-BMZ`!5tH1nwY*twM3lRLp+ z&*%O+2s-M3EfGobgzd~_6pmf(w`Nq=PvFqM$}&ip#6QpS9=Vd0ct_Q~=s4z7wv!aQ zfrdPkYXf`V*|+WxF~OVLO=q%c-1GW4MEu}^{MPmQYtt(3WMDs0G!yDIZUd@G}VO}Flx$ax4u2n4U@hyhrTs0-U{?Fl?sU>dPP_30rlyWpin^w*Uo4PwtL}!e?Y!}Y$S22hn&h`4 z|9H0l;8#vPk)wTG`;N1F-gDpnWm%@K>tmamuB&~;8o!Qb&6+SlzK08ac!QdsCQJGY z{$8;Wx-U*q04|zqT%s86%_~Y|lqqF_8~$B_J?^KmI4PCn$OVxE7lrttOT$i*RBZp} z^R$DvIfv@qce<{Dfa|QJleYlRiJxu;lfRob-Ue+X-5fH91hlC$pKn1p^c`P5`;}Av zeppbSQ8)|twqDtjn^$JJ#nro6|LVQr6L)evRyCTicxxVTpupr5yS9(Vw((u%lht`2 zo^D6ry1(64U!6NYsv3D;DpT|ObG&D!B+nW!rz`IYoSFyu$c9U=DkX-A-{H>ui(RFr zkCe|-yAL=+8=cQ{#$X?4%{sfHu0@0_#Ix7_l4FR{2BInmpOC(iSDd5w1iFihRqq#{ z{OJ1c$m*^pbfEKtyM~XM{+l}yUmd=g7O6~l@y;*Ye64YNcPFu?R3NI7*KCo|2i9dp zWt!;xT=2Xy(IMN-@O3yDpVpu+zj+OD11%N@D$U6rq=<7{zbSP)US%}AG|N)A>^#YQ zU7xfS7Y^tk575k%e-CcnfG#V{-oUAAaaO!OJ8QU;7e0z{~=A5wu*tVto5Rw03ono7jp$0a(Ay|V(MdShX@O&b5IT<3Ib+2-5>$6 zrQS9rGt-EB$uSWyVUTe=-20eAj#s;D)>nK`)q$!V_5tQLVr3fNU@E{*PUl-3`5u3O zGvse%kLVwvVpAc5Ie$*%*a-I5_E6yq(!Fl`cKZ;OMT~mOWbo5pPFP;9GTpaSNMf^~ z)nqk5RWMXv$22L=(m{P}D0l{jxLWm6!AVrEo3L7&>*j6=7 zNrJr)mUHh)ata+P5Qd_EVp?#KIu|&vGfzN*a106Pr7I!kL`#oK` z2{+IQap!cZf|??o5khjRJL9{&-e4X~x5m8S7eh;rS28u!ayt+dR{ z0vE;(!}!h6V{UWRz{qr!-BeUE^}0S$7C_3~DeTDBP20gTcB0mL3@v%(b>K#O!sz!g z=(jfyh60FFnZ($XfedM9YXq~p+E=h=h*$4G+{EICBlG+$rP7P>k!oPIhF=dw!Ra$& zptV|~XaWIeedmY(MJFgm!bbM8fc_dLKB_6SzH-kjLDaG@zC_n=8djJFzG~tdwH~OT zDT{MVrgPX46nZW2R?r)&Ni~&>%ZOvQme@prlvr{S2OrJ1zFq8rEUw^$_VS_{izZMd zXy=pGG$dvP4UjMW{5_QFrJvtcYTnZ~&vV&cjgE3EF)F19z+0}-RRCG$ZozAK4yn8K*i)Y-sJ!kHO(7eG$OqMSZNLtoBry>n-e4DK~xC@ca6`mlUz zn9If;-C!bw48PNkkRny7E<#zSElFYMIWaQ(65hFx762GAS4XnVBv}Xh0;AMYGdapa z-xWa4P&Hqua~uueyZsk*T4wf}-v{XCui}@-eo!wqbvsgG<`qT63HNVBJwnO$DwGI` zPov<}_y%-`z2LtF#-#5YbUTJ3hgo?(F0X?3l7bv1hfxHTF4Gcj?QRg=P};FZ+#G0stAlr(M_!@J+jwdj$;>BE|0F+~GK z#1HO5dxsz^7c2`1gAv~J)VCstD8e%Fsl;TP1CxuO0xK3ftHss}okV(lC+dJN3x4N~ z23ZEUp7D=&<7gkHRAPQs|{GO(b=O8=|R~A+DN~F*mU7}e{ zipA$ytzmRw^~(*=_S*0t`1e|EJGr=b-44iaD<-s(>d6i&VGu3Iep*rq;BJaP%UMV< zr_=$U>diQ!j`&vbD}istwW1sjpt)ekJDla_;i~xv8crz~cw|N=Zq%lj=hd|AVTG@Z zdT0(Yzdc}Ps;!AXv3^!Tdh7&=>uKSd^tukyDTE8q=3LDB4eLb8<pbXM{q7OQVP(-|+M%d&i>jB6_o-(>&jOiOPzNAnc=vDVPL&6Gu zh&N~iK=-FqIcAFGIMsD7YgU)d7VcyC`zIvBmBot&Fr z`qp8^FX{C81S0P`ql9-}np9ydwjD~=L1s;Q`)UvL@Rqcrk@ zTd6tZmB7=s2X{g{m_Fz89Shnx-zg1(&(fufQPc9q-|Ryw$D4~rtO!LQli`R&6k!KT z5)nk98OcSvgrh~YH zTO43?f%+QNGBBe%TZ^fufz;4XMpKoL)GFdci|x2(6iD8VwfSrVU|!njxMC21A!41n zM^S!2H9(%X92?}7SO)nQ3bK$s^KhhA_#9Vy83bGdI2fGdUbt^3;ZtrSb%F8MS*5vX zr`mly$Hhq*rSXKkSn#kZ&3;JOdl00XD?_XI>rkAW$aw%gDvDa{^ps6$EUW<+`NNv9 z-vt6HB>}IiD@p_4wzf$E#~mWDRSFkOF_}sc!>Qz$*sg|xvH=OJ1?manh2&P{lu#Se zBIE0d)CujF_%cnhQZu?o80cCN5-;rwML}eG5Xw~}uT7gV>RO-yCpoU>8g@0jFc}KT zayR>MwyZGt{%A&Npu)KC4|=kiyhcZE+Dpv3LOxjeWV2AH_Sh^fHFnHyEzjSUs~va= zY>=w);hc6_@$V;L*Sw1hOz(3#K>4}djwSi&e zc7F<~P%BlA(h3~GE{SBuY6RYK$it+9eV06*g|26Jiy>V?9#Pf{#n$)RY;A!6BQlqy zP;}5eO80yt5uImrGlZ#h-{jI=vy1NKJ5SyUyHVqo0)eka=^kFYeJy=-lTWeQ# z#oxgxVmdPA%3s^f3aykYSLu~0aX-KEwn|L-ER=YL?1EY;`Z)l#sL|6-(mHD~!szHw ztlhBflZqtccu=kP52o&qVs5c)ikKTh{R64{l2BTr7MWy-c0rp9qdyx;G5$b`j^~Jw z2D5|>7q)Q+YuKX1#4=QICFxR$l+UXcIcSj#wjp(k$20soBOW9YkZ0NLI5)8+{bcn( zLCo)SdZO+S=%au^5i|<9ucpwTn^c?LpoJQ$4F;Jen25&8uH0a)7;o4=jJi@h2EUl% z1xlOK5CEoES~ab#rC?Vo@@t4C-I2kLUhmKk2`FihN%JFf6RrQgwHB+?E`Us$OgF?* zCH>q<^>-E+L*xMioJ=<`@G`uHP`#TJ2zRk5a*Ts1%r$n>?UodscMJdMq^IIj>wY&V zR@UP}>Povc7m|(`4Z=*g-oA}^44>RmZC#~x8X|d565NdP+!lP#mDwAksI4HXyZ;TV zcyi>HrWfJUZ0zqm)9C3Eflun%E90>lkDvtKDUGV}u@dGMN#T%r(1QD`K(&g@L(#38 zPEfvhA`BbBPJIt@_eeH8FF2lWa~IB&J^(i@K%BDa%kme~@gjSreNXQwikTz+J*&j7NNQR8S{;SNG^(!GFK=O3NcFBm?1dRELYS_L=phB z*X}>u$rO$KhUeIXWLLDEvZj_C zmKvFH2peGa$}xKnMc@C4aSth5I;R5hTj#Cteh540pvGLb;3a-p3jH%iamd$v1COQQ zHu>5C$+CWMWs1+Tr@~j+p0Ya#`p3~IGS>BQxQ(?!b`z%x7=UYHmZXlx3;OB{WU*#M zBk6|vYuPh!V_+)@%!_OB);V>^Ib3xZt14lFly0h(u2k_tAz?vS363PKdTcje>$;)Czo54L_ z&=iyOeAIBz6X>zqQBMHcU!HNaV$ej?!5(%cysx6)D#N zW1GNqK$>=E@q4AJ6&r);6&t8L)29M6jh;WF8vX*U;j$(WS7IudsBnoe4Yk)4$27)5 z#45-3kwzgYw}8Ed-OA&QP$zvR;-garR6R_Gdkd>_$ML`kaXOR=m@n*u%SNQkg(oyi zMsf*P_=vIQN2ujyhDe2frWU_JY4F(=Vh@B+PsWha)&#FYC27Y9E~>VKnF`Jro`}io zI6iG7{}nGB^6jm^jlX+Q|Hr5AG({tgA*D(o*mmO(S0|WLn@%)Y6zP-e47;iwreGfA zr6LiCMXET%YAQ*SFCwc|u zTP=HgAgl|TjkYMmj(C{C^5l!4`LaP~-@v$@&yWlODJAsf5U-O;3>r-0mK zMXS*z?7`w}F2^bhl|(h{&?F1-)ibLbBJRad`tj3)sw-h@<9&_doPg~!`!X|G*pTd; z8QGu=G;3iabs~CV>mj$vIeVEo_n`BqNC66YP@|`{f_(|BCD$kz*Z`q4UsN)UO8?@3 z%~t2N8(|9n?=8WZ+c^P+52)!H2aOa)h2yc|%F9a(RKMAX3A(`IGSh z5Q=ldLbvz@ejU=@5gdj4ZbX1hA)UbSOnSm!Is?gD{Yfg73z;d*P+b`_h~(X6*5YOP zE%haQp^&vm*1w=00(*-QQAWs%=oa;DCBf?iF=9boLd5ieR<+!?M?x z5$xc`+IAdVqyFhC*Cr6n1Wv|Vm0wy}Id$s6ps3Cn0z_87*Jwlx}WHAg<|BAQjw>c*qgfvA*c+ zGm}HG8Wn0?*jJNi^u$7s+e7~1H1+emd>*;5D@5PY!{5%v1J_c5z0GMY9hEtTG+ZN5 z)2=0FGY=lI%z)iIs|l$rk-~;^gAWga1xgR)Q{wQb9n1G)DA_3}3&X^O8qfl|WHE(8 zryu1@3k8W84nfWs}2RhSJkbw!nd|Ir&B}Rn?7Qw!*2Sa zCTho*j=~Ow+LU{)wMLOsOgst9VB4i7uR=&M%3t7S+Jt>D2@xYKN);}d&lua(rNHY` zz1NlSN4l&N+)b`>qy@w3Q+iS1 zm3oJ;BUTSV0n7`7B?b1B_2icm=EF_~l@{CD+qEO2Pw2qAHX2FP*1570$+QAcC9mq)$qP{R8h&(l zAT5O0Q}v#yL$GZn2ctlvgkv()`T!w(?6h(=SHDPB0`Ns(e!iB|fHH{OTi0``!%B{`$1ud90i=q?GT1V5B=G@>; z+cQ83PHm-5W2nX=E7p(*(cEv)=tPUd8qODAuy3B@>6Ql0BPF9j z0$iS!%wE{xD^azAU*`Na_bzkKyZXYEIz08N`3P)LU!5#elnPTl*){7oMaFj@<10Xa7wr&rm~tnMe$#jG3Wm}MH!eO z!G${487*yLhrYBAy%qdBjjR}J#G`W$=tO#NHE^M{oTOzC8uepUZ%}MVgvjxHGdze) ze1=wo8Pz|72wF36c$0U)){3dOY0?NwFM^5PJIPf{2osA2S$!c~V+EvcurD%ffA^+i z`b)AD-6=*DNh0#dTJ=}ZEtj*Atebeys}7J z#py;Zj{X{5LSut_-XA}=)G2|Q>kgtx`K2ULBXdZo`A~>-u+$p*cmbGXK-0d=aU9kL zwH(XQyCS}&bORB01+=64AqS@oXb7uq=jSL&=jr%bT-0)cv@lc3`3w!0OEfUMyp{Qa zkgL39#R1`;XR<=iD^U0{>1P@ZE5j$foEM`}N1vl~q~936NvGUUktPiZ)GNw9n4eU90IHMpr0EDXs42fFiX! zBh#FelL!|TPbnOVW0M`Ok1X0GluH#7qeSUmJp90Xr4l4~Mw)a^c@YFB+AY!aQ2i+w zzb6hjAhkGd&TnFj?%f4Y;JABX$S{ltkAW&bB$+_di-A!Z0`Jl-k>piRj-lf%RL>(O zzf>M!EKswk;v<#smZfGTtwv>`fCNY{})gX~*;jSfp{Yf>fF{8DslzXNrc+h07@Blh6 z0Y^;Gog`=2jnx0HwlEFZ;in7Sj=ZqJ%+QJ=_> zA;(4z+|>ve6Ez5~%)e1{PSfrOw^&hWvK3xg$0xA5ZC{73*sbEsX>f)9zm|S zGEzAoVSDVkm=G@|07V#6N-i?~y+(P2Qrk#^gLR&!C_PN>X30vlJ+@G}8;Xe`;dYuP zWhSCu4SBgn9NQ+O<`jq4I-(plmrJVikeBXTH3-=Pk_hIK1ELL%!eoWoMvno0-5l0> zOi76Ur*Z4-2A_;Z5Ok4HtQ`F8iJ!JWOx?tJ-X>)wlIBR)%J>n5&a$6h{5yF{A-@(Z zf-`!RBbK?xH-@1RsNj%hPicyIlOrzm{FWXh3o0=g>rOI9_W5>rhYo}QT@k=qgV8>} zQuz_L+GJ9ch=7lnzdg7Igv79DRQO5>-W(EY9wmnKylsu{pC-OFKTlnHp2r`bim<;p zQU18S3|uJffsS=;veO=~*|%9y3D?IV6*vQ~;7}1cRSY7RZAqBqT-w1CQgG8u%?X#^x-FFcCDm6g+R{fuh-_sgqeN`>mv6?yuUF_` z1(ST9sie}gT}sc*B<}(9fcc&(+gpYSx#>GmM7)*A0}&oMp;HU_k?VP7GQ~Dr*rF_t zV`9{Djea3MW$J_qygogiyr_Cj!GheQ;{9+WsSdXv3aE`Vs@6D+@=DcGLDL+8JiU@( z;72~AqQOW%&!s(6VU8Sm@{7l@;#-yil_SOJPb^oGHPQW~ed;fz#md8*pVo|X3G((O zvqFGdW+iNUu)k|HOKT3lz0aht({sw?Sx*qE?tkNd+vF&!KMEWSeV!18t=AUXYNB*i zBV&i+a9vGAV}U`q%bz~a;8%;9f-vw_m@$(ar=XQ3mGYZOkVM3?iFT&^dAQy~?>Qp0 z6ohMI2%o*jQsrhBil&hnQ%r=8suj8(4XYyRQCRd{x|&<;HpBrvu{i$yR?Z+!1Q6!J zZP<9o0-=W=@>OP)SDf@A@VZ1UuE?*gwK&|UhxGO?tie)Mdadi`DJq5Qteo`JhEY7? z0r;clmppB=0{xg3dPwVt+|HpEK66wSDS#SkX)x8cc6F(_LBWFLlW#5_H+bJ{h=wz= za%c3j8Ov3kc@%plQP4CMCiC=$4cFifkfP->X7s*Tl`Z~r=_k1p`NLU>8>aHiVj5*2 zl`R7vgV{LV535=EG*MZtXtPiM4P72~(Hu0#_Kgl$*La#ZFqUt*4BH7zMI z<4(;9Oy!LII3QBaGJkoo%j@Ss9HL9OpNX>8&&7>a!uDb3ZvNhc`7r}|MtR(W#!jC% z3xd)O1QN>jEr3rJS2d?J>!uqY0$`@hzC&NO0xn7gcz&#^wf+t>utmkqOKCvc_l&QAWS&<TF&rJ0s6TO|sE6{g_mXSrCVp_gf3NBR-pW z@5^zLabj`0lA`#_NBNq5JP2wv&vhf}BMjr>%DkT?!Hb45lURA7vPni((6CL`=?;1g z(p5^Wa3_xuLt$*^ahf4q*bo&(R$GO^HsEp3`((skT}&cHPpvVFpeS`Y0=-R&D5(3Z zbpYShn_1}#)&NtFO=O1za6V|Y=-1wixYqB->!l%rD08AxDvAS@IA zbl3b53*w4vv>&@2ENFGcGYJ8M>sh>su%PCGn{S>?8*~pG;n>;YX8(77D|udUfH*PX zcaNHU91QYtZ57dDI6U7%9Y!js7I|{(3hR^khAQnGJ3EAJMk@r0(yC5z#zy&t*nF20 z6kqv(TRb3_(rHqtt1B0LNq;8oX}BxHaKFAC<5&12dhu|KZ$?8hJt&AXUYMU4LGQrR zu=dh*-0E>l`zmBgu7o$M$mC%*y4?=+ry%4;`1gxIQJ9KKP&n*nCOf!XVqIteqV{>h2go+Wp1a`D$+)k z3Lt`W3-AIlDaS`rr>ZZPuwpMmlmYZ8;W8QZR-w=F{5I2zhlIb|l&m{i-6);~k%f`w z0&5Odq~RI1jXwHrUZtRdF$d1)FKjw4(5LX!${w{|i`q(WnL{nHK8FON9-NlA3oP{z z+RAfM%dRZYiMQHaRtBwOyEZ|v{yq4+a}Eyn#}Of%;T~jS?Q*IC$A*m-{lIW!Y9y68czf4H=2p>vpW5Cz%T|+gXFCBi2gIkhw!JBO|*;D~S6&9+EMjwJX zv&|&x)$0&$O#@ojpItM^w|(_q#)5?^*iCqTIibyJRUawEa8-}68pqW4q(dP4+EuuW z#a0|}dKGGdZ~)^96r>O35F<6D5246Et(+#u6ZhH>oy=v}g({n&a zKf;>&%=*ON_$xj!3L!vo&#=^O*UlgvCM1@?j;`A~kG>@;5pH)%KYiDdFK90Q{Nc0s zuJz$Q$J-&o@Z7=VqOYqi(q}KKqe=ljO=1+K*%s?L1)TcFmd>)HyPDjRtvAoS?yCCl zr7c`z9!|%enW1?4WLyxYbH84(it@=9TK(dGb|9tvx`bD-!Q0L+psGekxyq>Aae9Hk zV%2B^Os77lM^=$ZKE5v6#TWC?wbmb%3VgX50o)o};Q^TuQ;1iy15{>80QEvw;Ji~m zn7L)X_N!_h%q>w>8rmYdSLCe>VH_nHjY#LZpFbgdh8UmksMg+|P|XNKul%$)Jvm8#$n&Ch%GX(%kF@@Jr;2EL`tHS$dxnoVtq^oH&6ru9 zE1?lQQGdjS@;Ta?_#BjT*>g%NRg9(#{MB5)OW90KHpM7V1O2!=1*yo$M@1S9)F0xj zz_Tw=G|LzvVDhOWf`Pl@vIU^hR#ixW)em;?2$S7~bLV$tWrGaQN z5B*gQ@nOO5QQ?9&VlBtBSRT)@m5+0{#{cQjTPsIblRrmq`J;MZyO|Nd-*XDc7E{ZT z+^hqhM+;w6Q7tJ@s1(lck_mXXf>DXsbV7cc*nRs#j>Lr#zN_GDugZ>{OJ<2s;u)Z+ zuFqzHabc*v?+pTiEMxU?&{s=dj>p8oj?u`}!Ptz^)6VfD3=j}LK~F~`6B{#EfU%i{ zl|4V{MOzmsz{-@LR1+xAEbl04W@#nm?QEv%t)OP&ZDYc1N-8J-$LGoOL11U*Y6S4K zv$c2O@#H7{iGb)kTY6+@NlxRo0*z_WCJHVH!B0XIfp5Ou^F2Q z0~foI39FeYhZz@_$=@gxovl7n+sO9sQT?GZ{h(syHZuX5b8s?na&nk3umf3G7>wAM z*%^#Y&A7RkP1rbC*i8ST`Xellu#z-CDJvuMzb#6(My}=#&UXBya#r?kp8xJpv$8W& zbv61U8Vit_1IP|!W#i!dpyuZMH%PM9d@VY-Z%@;H>80V9QVXCnCUyBNHnl3-e#q0O0#)p7Y2#m>B)3hrb-mO#hV1 zKZ`}g$b#vwCLhy(1^$09saiUC*#Cdy`8V`mEW*yN9uCeniq4A0)@CNI|25Bl2L2b5 z%EvP0;_B=r{lB@W{~M0)ABidT;p^b+^|$d=&7A(x`o~&gYxS2@0Ki}M%VT8nM@4>8 z7bADGf8@c3j{oQ~u{5%`F#A|2|5+vf%Wn0bB&;d3nGuldBg>fC%#0Y=O_-S(xPV;7 z46JM{KvQ#e7H$@x(O;ANFLoCPb5{=|XER}ok23n0>yIM(*IWar|H?I*|LEaiY4#B) z9WyHrGc)NwrWnA-^k+T%Uzf=DXT^}0=lQz`e1BFH9_c@srt0SCXlrHW{2#^nU&-?S zg8Q5QKa=x+=l*xtKfFa99KAkD)Y4Va!~VY<{yzc!gF(*9#LV8s;lB#~?~s4U^0(W@ zN6i1QecX;d?ru!~y1o4~HU3o3|H0QkQ||xZ2p`n{Gsu5S-~W;8f8_daDe&I{|4(-P zk6iyP1^!#$|H-cZ-{gY(_XgR_{^QS{$H(^9IV-aEW9tlIAuKNp0`ff${?!QbqYY&& zD=7x@{^y<7QIhmwfpwJ9b^!swI{xzk-TNYn@?nH_m6jKW-h#!)U_yx#x)}!nLFthe z6IQc?{FVV_U?7Duw;?zH*rBM zk}M-5vk&)%0SwCvCk#$pFbK#VLj$+IuCrTdTqX{9b+TM-cG9Xdm&f6DHeGCWvyoos zy=Z6i*y;@v=l8isuvw@^93pU$TkP=hSgf;99NuX6x(NiWzfa4p0C6`o-IS4 zCAt=R*-cVR&2k#V-P#O6MuH~t%yU!7t?Bn>hOP3((e-+m>LDMd`c ziB;JkvlQn9e=#e3w#SD?AMkS4v^6D)jJRvycc<=o*03OQvED(|SLJrP+(6gQC>Mk1E8 zrOJ=DGm3VIt?p-dU-<8}E+j_1yomiDjZEa1rRcy2175EvG2ria;sigQJg;dQ_yJun z*4I#W1KyqvT$FyTICK$Ca35p=jwSY54szg;1z#N>pHFJ~%1UzZ^u6{{l+@HrGmL!S zK019!!V`&E7-a;_>l&nioLp+60KdUk3aUOA7ZGK_Cx(`#+Y?{ZoV+dDAhcD=v7 zn4)D2Wcgh!efx;5DNd66y;Qwo9&q2iW6e-(ad$kIuU?@c9BIoC@VFHLVptf1&4kn! zf!ws0(6K+a`rRZ#-q_*xXl97s^kWtqzdSuX<>%!A44o_O&XyZO2BEceZ+ziEoP}Z8 zUam)(jJhkoNyOqc<~+u0*O@OZUUa_L`?9hm{lw9oF7g7cH0=vV6n3|LTKsNer-GYb zTx-3^vdw$mOg0SiS>8^H%~S5G7oG`WJOc>tvOo6yXU1hs==SyAsHl-q{?8q{I){zU zsbYEjBy_<@!BC|%#!pZOES9g2R}_m|4Ga1<*Lf&bt+O?4b~}63r!9i?Y^cc zsSLHf8oge{4I}g3N8i%M%vhq9q7q~q8Ok|B%?OlE=Bv;la3E>iGk=Ql5cysTv&1*W zIn&C|73GvQj#Nzdm;@geU*T!d^wKN%6;W=r;rXoHaBld{WPyyhJ)YK0w)18?B+N<{ z;h$YzN-zYY8ZXhw5HM<8Pk)mIUx)2Vx2fFcL=)&=qqMO+d_;q7=-qSe5%9hmz!se; zmOs<$ZD@=5a+5-*nbE)Ddn4cc`+jA7k$dy`?&QFg`R%n2iMO&JW<)%hEW9nS+i8f< z0v`w6RjAw*7s}9az1?f;_rnJAz`#Jh@W+8vMoN-$EdY}u<9?iV%c$-WOLICFgHAd- zARMIo%kmGim=^M59H}f`bS~6;(Hi|dz2^;UJ-0b^llrLRx&)BVTm9&Y?7I-efTemX z)o!!zY)svUO%ijB920)hrcD4e~M zhSPr4@_=}7x=<2Xm9y(?_jk z7JZ}zn@F_|F*FOvPuw`(0j6IPp2bN$3U?Si{!iP-qCkbbK3)UQtuS&4L((mL2yM1N z2+;*Sm)Np|B%^_7Oe{cw!e?m8$R7kX*JT9_q)S+FA2kNE)q-n^ussWai>IN=!E_@_ zsIkzK;0dg{`bm|G1OAyw*5vu&LNL%-WXfk(joTW&bVppsc{f2a-2H6%E51iR;D*)O z6yJy-28-c`8$(}{Wan+*j~`}xFy19FaVlQ%3qKcX3>;|pUb|~+HPqxQvt>-ghRJ0b z($bjuyH5%>^!Df=KSAJv3XgdA*!G~4){1zg(3FH8ePzXRcS07%2feAy`4()Ya>OR7+eE6C#@H}tSRwb=!DvVX z?!@1o->psI=1i;0#_=c~<+5*w zafP#rB5i9aqA)Qy%GfrxO#8g$FW&Y$as`(5K^nQAZMH&lvU$>!b)SE6ie+=ZIW^Jc zoo6puwKv;i9ao7>Ka$*SA_f1{vcGwu7*;-qk2}k4UV9LjP>L=zjnkf87@nS+o~P!VFrW=7g2sJ%IuM2<%Jj5}1}tJqmo9%71AiB6D|j)0bS90W~N z>+Y||nuY|+jS5q|NHi(%VjEnC-~rnI122jO=7tL+J09KUqpS*K5C&lrTwXycFT4)2 zEpBF->mt85rvuA{E~;4tjTN}^**}v=kf7Fa2`@*gYH2Fi8OzbLQ>Kf5mKDUuEK|Zw z3<||2ig!#;6cX8fhWqZcGZ@z5a-iee+b|qEh^$GKUNRsj_xX2liwS|P8rMRb95pTN z4^29U5a#_ev_Z21yI@jwvF2{Jh>{GYI|#IGRD_*^7)Dl16mN&AZ^;6Q2gwN|Nf%Ve zcem^2I?-2!gV|B(8DslmegwpNT+5AiHW0?73LwS`Q|bp!a9iN(Lr!!X@ZWhmKE8Xt?=$#-jK(F@ zJ(|<@T{;dt#chLgfdb4v46dh5PbQZF z42e{k?8hxh*N199j@BzEB+tQKlLS2*C6S9|oz<&p^KG9=sP_qeFe%Z~Yw$B}=AG>i z^~koMEZF|r{&!CZdsdd9bQoyrV~e<_yK*^r&ZCsmB^4FpDfk>Zz#gt~^ukheDa4(# zPMr}80nWBO+U{zk=Spx7^_}`IP@p`GN}>ejnz>CozW>w{Vih-Z6OWWYGHWoouwHVH zl2nX3J!M21>mk~bYOVzS-XL!WbZL)R?Tmu-eZqd-pdxwk&4`j=5~2&M9t8t#9$o`Z z>4^)qjD2i6J$g=RNKsnFMq-BvRgb#+IWfs#@3=S{@3A$oIpw7fdM-QNMy~;gOBT<} zpiWG?>72Bv%onbe>XI%g(@40IZig?4&-c}w^{b~&>*o%6^jGm-Mp+LH^_oUUw9=ON z->Orcv_-e*)R*&7@y*cJ&2lStO=}vzK9#cG(#>kq3#Vyv48NdJ9U&g+iQHlNesf=! zuAso-auigj@ZD0Bt77;6`uL>4TwC74t*MaI0&srfs-z`Pxw}yhv;0cXoxAQb$$#&v zzSM4g|6MVlB*nM0;A$^)=B>1%hmE~?xdMZXl3?qF1R9(Q)n{ChWWrQXBr1xVJrXV` zNr8vPe<(^>qoiFd=1R8XvmY+<1eyZ0tSoG!7I?W|_5sdby95ZMN|rAdsy?d~**=sb zxp6m`Waw`9HsGe?Ft{+QZc>2P^>C^u*xMpC!mRh0G;GSB<+AgKZ`0+wjO06kgJNh> z>WU0A5AChLKoG&;{&=Q^M{ysr;A%TSlJ|jXYq%ASgkB_px9Ft4t-G>yC=JHH2NHYn zQJX3=RL+|_>ppFhHhU}w0ti^$=cpt5g(fV%BV*bs}jqsG92ras;q*mcS{gx#|a4M zdz45Pw#aU3JVp3zw`UWhcA|qTEv6*!O$n*7oU97c+@)rHwFIog{RII( zU*FGB3-d~E(7-?ET*oG~<@V5aG<|bnOw;2a_S!`i zIGeU}nc;qHA9qT6Ny8Ys-Hu^uWa0LoceVC&_$ce9xgDaWOzjTRKEA!?N4X;DE3y>pa8Qu6cl+- zK7u+2&&6wXpVzCQGXo~RwHCwOoc8gPoR{c?n}VT{EqX^i7=+r%a3n(O0JZJZkr*(# zVgI|X^WDt=3Wra6H2x3q@ z9IVIPfGF}o3BPum*RWs@{0N3gC6oWT06)lv$J|7E6ve|#7}{s6#SO7vxbv|KvR6#2 zT>j*-X6DnUIqVXtL1{}5*p~=K>TQYNy;W z&`{DFK!mmsWA)?eXIbITo)G8=pNozKQfPs>=Qpyru#hb+p?9dCGCR{oXe3@S+v5+d zC)GQOz7lbs&Zmpt?ID)NCFZqFfBgJn~`mEEt7Sk|;^&f(@Wi zkRar$MY6aQoj+5h@Nbj%vRp<{X>juLXV1ydh6`IAJpo~D?tm0C{t>g)> z-FWKprLrKUQ}k~4bD5(c7|}`bN$aWT>B&)B(a3V?>=xil329uio-g3yfR_;vr) zBF8Fo`5}T$?ELcqZAsV_&rT0C0O8^!`6+cEwcDFkssh**vOQ7R)ZyIwB=$QhNwKn> zE458?)3nx4pNU0TASYjb)tx>s&1A6Sv?b0dA0;q`u~>E+VL)tcOKaziSmWgQ;}5r4 z$7gR3g)QH}0`PU(H`>xYyPUf3OVF>M`W`UlQ05GK>xaflMo*dAi4X8ct~(GECis!8 z?E#qNp?H-|qso}K6!PkD2V@kxxU_=gmOFM%=XepyI3ijCb&vTc-1?J2PcUI+bv!U} zLY3BE>UGY3Q(*Y#k0hhZnz2z>Lf^d$3+Y$wDkF)I_A5%k1Mer%sGTt8vR?vV(b6U1y7r1Ha%D6(Py^T{>y)sz1hMCIL`ze-(c``^>bP0 Hl+XkK$Qkrr literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/picon_cinfinity/ff_realtime.png b/cinelerra-5.1/picon_cinfinity/ff_realtime.png new file mode 100644 index 0000000000000000000000000000000000000000..5e5979464bde11b0674f5cf4ca97189afa5239ec GIT binary patch literal 19438 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 G1^r)VPp9+% literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/plugins/findobj/findobj.C b/cinelerra-5.1/plugins/findobj/findobj.C index 70fc9b3f..6348eb47 100644 --- a/cinelerra-5.1/plugins/findobj/findobj.C +++ b/cinelerra-5.1/plugins/findobj/findobj.C @@ -145,7 +145,7 @@ FindObjMain::~FindObjMain() delete overlayer; } -const char* FindObjMain::plugin_title() { return _("Find Object"); } +const char* FindObjMain::plugin_title() { return _("FindObj"); } int FindObjMain::is_realtime() { return 1; } int FindObjMain::is_multichannel() { return 1; } diff --git a/cinelerra-5.1/plugins/theme_blond/data/mbutton_bg.png b/cinelerra-5.1/plugins/theme_blond/data/mbutton_bg.png index a168af686a3f0cec21a8479898142af79ae380ac..b2683102dbcc042ac29d0ac18917af9f157060c5 100644 GIT binary patch delta 191 zcmX@c@t$#l3O`$tx4R3&e-K=-clqRrh7$GcC7!;n><>AmMK~Bdi~`RvFfi13x;TbZ z+U}eOun5x4d@a^?>J%$D#WME?8P-Renu>J(dF2BhoaD~@Ag}Zds Tz4`G#hcI}$`njxgN@xNA7@#=L delta 1073 zcmV-11kU^K0mcZBB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T!%0LzRCt{2+*?m0HyFn8 zzfW^W0ts}ts?_iQ3HoVz)0?W&YL{KeapD;tdNBk7ge+_z*?+3F?Y1An@+ns4VNwcqhv@JbQ@LYzo6imP!&?IXWlH+$Q*PScc@bzz7`12A6f z@ADE8079HVXEj%oit}a5u-SblZ>?rkS%TFRU844Z@uI~$!}P3plk1QG5aP&Mr};Xr zxS097g}#ko6isPqDoX}}(fs~p`JheNMWR+@rBL~>B7dF)fDlLK3&UvD-3|V%6!U?@ z7Y36O^*ZwLdJQ@A>BC^>Vqfh8-svX+@>=?!-a?31%P92Lje9tN#BQCS^>Du;UbQQi@;|i`t>9%w*nTw$>Y@3LwN0Wz`Q#ouGAQ zZ~5;n=$t9K#O2J>I&*go8!`hB;z(ANWq&p-?#g$*(714%|HzkBzj0_2J{uAMLcFuh zz&9~5nQxx}ROCbF|1XfV;`2p~iHZ5pk(6S1`!fjuA>K(-T4qCs3;m+qM+ty_*WfM^07ATz$tvRM rF1??PQ~`weAG1X@I`uUOAx`99j3=H<>AmMI?3OO!QVVFfe3$x;TbZ z+191cDC!>o(wJYgT^AW5D|Ae(#4P-ix>YWl((j)n8O$ML3fI!vO{c oW(FPxVi^s$i+--+61c)BVlKi~+U?=B9B40tr>mdKI;Vst068u-kN^Mx delta 1446 zcmV;X1zGyu0k{j0B!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$VHAzH4RCt{2oXK_@xfO;# zOf_)OV0RzC|1co~f6l(x*dx3IEv}mVKt7)B++<$K)sQ`kd1^zn%=AZxg zO;8l&{}TW3pMSmgJ1C0sPT2Q;0Yy>X5C7gTpeX-~L}%Hp17Zv|3nAvq6V3UbGCz`e zOy&tzN~E5RA)BwCGkh<8Hwb1PTz(>KkJH&a^#By*3QXQokBN^@J*V2yjFGPO99z$R z9mp1%F){?lseks2!7>EL<}|VCCPK_i&H_SmhPIDvx`~_PNJtr*0THHPxjBy99!J_S z61~NWFnP!AVI(<&7>Lf`<7>H40Z^1H(9D~0@)j`$p9CK>&6rsAkq|RJ3H6u=F%hPW z%gG5y%-Ag0EL2nZJzGPV5`O@zQ$&ox$g>ym5)AhNt2<8xKvAwhbe5220m#CscFWkur=Cxr zPptY_@&ZVy0Cdyh9sK?F|1v57igE?SuvmGQrGLcwP^tl`*!OKW;qtSscd5+#nWz9L z$`#17s}EpAsHcQb#30Y{eTbQC49$=*QWAfQ09+#mxUi-QfTCQ1mwPQb%jy(?(jTy2 zpO@`I%!q;H%pwjyD+W*jP?Rh1bt4;!05oG_eTvB3zS}j=1vs09WDR0UgU{o(qN_b$ zZhva}%3aLf{}nDRqh&xvxdQSvnJ4hHsW`Nr=tVJZ>s55K_iass#d6Q|9*2 z0nk^TFWVYJ>FTSe^xg0LE2sb{%2g<_{_TEXJ6rc`N^T%I!{!v}>yr8JD@QeDjFis5 zRUemC+9A>okz~!%N3ibW*_^ka0-z{YpnsY&Puq&^al)s}r3{?Sfoe*eYEL~xMqfgO zOSmlD97n{IhN6cLEw_j9Rcr5$xO8?<1wc`*z%P$IedXA%0%A%iU_`J&@dTV<^p0jM zNx+aY(V3+zI0nnZeTz>SH}?$rm}!S{DzNP%Pjjx|_Avh7VDJkrOi=+)lq=DUX@9Zk zGQ0oTly1N13_~c*LECQR*aW6vS0X~LPytYspMa6l=;LNHTm#1@EMx0F;*))G8wlL*2mXE6 zuv=H$9LKYKz;0c!|G47rF!1Sf$A7U243#5W*qq{WAAuD(w1&x9qI+HRQvpzvcjD}X zzsRfj-w6ErrRQl=v0nwYvjulqxZe*XXV|SOj*aK;FtRyKL}%!lzz{6eWFX6uFnrl{ z_!SiZMR_M&&Ln5>|0R!idl=~&&(o%2+fCScBfE4i1U_e0r%1MjZFhbI`G0$8BaouJ z6L^?Y> zHLQk`!~>{frkXGH{4~O$b|371Y4~;jwp)Y#00i=hyENQJ0000007*qoM6N<$f}<$7 A#sB~S diff --git a/cinelerra-5.1/plugins/theme_blue/data/mbutton_bg.png b/cinelerra-5.1/plugins/theme_blue/data/mbutton_bg.png index 52b1dcdc83ccc3919117ec8af86a4faf66669c09..2f09b66f8a753c08871fdc1cce4a601b94a1f34a 100644 GIT binary patch delta 203 zcmcb_@tbji3O`$tx4R3&e-K=-clqRrh7$GcC7!;n><>AmMOc+I{^X@HFfep@x;TbZ z+TXdX`H+-3?b=t)$g>AuNr#scmJ2pJIZ?!D-ER#)?%ak*( zSMog$c(woD{N45SOborR)-bRz2rxJ>Ffd|eR4jNC%&;KTu&{-Jfe8pX7!(*9KuivX i4^D>lX7!8<0@WwZ;}<=qc405jQ4F50elF{r5}E*_c|#lk delta 1085 zcmV-D1j76K0n!MNB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T&q+iDWb#A$r+ zXUVU>{b2#Xn9qO)C9Y4m<3_VjUkd=nJP{3<=4CsP%eR9Y z$L3xlFGcbop+yED>{c_Mg9QL%o`6=FdSguZr^Fu?SC8o>(sFE<`V)s61;TDc?kD2f z^ij^k0)R0KmV1e2V?wc2;f}jgP>W1nj-;gs(mt>LTz~3}aTAY*3{D}-Oy^<&z?cQg zgGAUb&L_W9;;Y~YlQ6{aaf;a{{c{tB;8{VIhC1SZH&1$6%ak&0;tm) z>;DpkuvZbk?QR9!C=gd`@*t9yW4k4|A&^|f0)R1#_Ma6%9z!C_shuRdasq zuxM8SRfdqsOOg83n7B4Y!`%XbRRN4yG@)GvoPW@uNV>h8S8VmDUmfF)0utLKVc5Rh z40PHjAPM|IdE@HB0)R1#CY-GRw8}_x$Ax$jime{a%VUbIez!Dufg5|=*rP=z4I8w` zxWfWJ3YQX%766QS0&{iH`V94PN16n|H7PV9cE4rAS0AuDP?9Bd^UGrvD0As#jva$M${a*lMzEJ-HbXkk(CzN3900000NkvXXu0mjf Dlh^+7 diff --git a/cinelerra-5.1/plugins/theme_blue/data/menubar_bg.png b/cinelerra-5.1/plugins/theme_blue/data/menubar_bg.png index 0d1502cc201c3224ffb6e640662f46eb15be3065..3012732ed2e312d1d363d3841f5b5130250007e4 100644 GIT binary patch delta 175 zcmZ3@eV=iH3O`$tx4R3&e-K=-clqRrh7$GcC7!;n><>AmMVMvwAHU+kz`&5>>Eakt zaqI2fg^ULj1XvE%$jG%Wow!4!W4YF^My&w*;6t5T#h2FqW(?{woX+47w4T#}fq{{M og+YLUXhvRlSp9y630FiJpPI0Vapw04j`J5qANvLz$9X*BW8Z+|{6AuCAszJ~ zhGapy@UfZoL+%-o?eTgIWIPsbpJVr)i%Gq-Z7)>6$J6$`X}$t*oE>0oL9YVM4-4{> zgkA;m(}8?2kbgewFg5flP!^fIpD6P}S!BX_OE_zhUa_`-fki_v8p2siJgsAt8sKGK z2ybVElNov$DQ$r)lvySo&#=Zo3~LHH+zodZ0LR$@x(--dY7h&^ph&OiIuI@zv{z(M z^g5!OfNm5?IxPsuf($Y}`KPD;^aBP(kY4KwBMY(#NPiYA7`mw|j_@vmf>^!ghj)ZIDe0^m41VEg2^V1%n0W;Orsp(!6s7RvrWnP=k9+Q>@XEF5hksG4_TzS3JZo!}AEupx(&h)fO&0*i z*#V|D1-cZOw&h4tx9|Yz6oR2wv91DQsYSsD#09`{c7fQmjJKu`RuKer9cv+QJMB8u zm4a5o&rXVepTGscadyErvTW-Lj5Ws}?Y((_tO*E^rFsC=FsYt_vY!}UZR-C2eOBM! z!hb#5;@g0Zvjc3q%r~hfpu?Wh7&HUnWJY?qA-$mH{+(98ewOOm+bHeH5(LUJGrZb> zL0C2K8GZf;TmT$rSEyA#{%KqDel=_~2!->OvX=jJhrhj>748GeTn6seQfwGs->qwd9S`fSkNkV)( ztLejGPyc#NJel3G_I?si0UYOHXue-imWlkV#}uSc`vZzhHes7*^lE|hp_+qYnYIPX zJTtsrSMj*z``61zIB(I5W~>zq)n;7&ccDOB037Gx&~-%DV~EMv?4#A~XR(kLb$`!4 zo;Kuz+7cYzjlsSN=&C`o)HEU(w#d~{__8CMwlr_%ltrR{y{@Uld0Pc%v>NMG99w}6 zvJlShrVTCtj`I*0H@*M>0{LJV$Aqwo$RL>9qzTPWbNaupNk={LZHwHl2OM?u&wAqV zjP{#7^1(n^CQPl?6=tQT2Svz-!+%X{@&~v8IL>3TjrJmU^M8Z(yCvyGM}F25&T4m{ zBq9DZ$6_HL_2j1m@pw)+Z?LA2pC)WEVAr9(N?`OLkh}=!IDZ->DHaXsKRquV&&d0U z^t`KY3mR(zlJu4kbTBC4T?3)iw+G#7LH-zS1ah25BK|z1><}u_nFfKH3i;n?U>R9;K~w zw><@0bQ5TPT+qCk|LSf+`P=ia{eJ-*=TE}&)gDLxcurhKR^O~BT}D(`AFtWGy`JVB ne0j)|&-eNM-~atxzxN9i%o0$J+AhgZ00000NkvXXu0mjf=%T1x diff --git a/cinelerra-5.1/plugins/theme_hulk/data/mbutton_bg.png b/cinelerra-5.1/plugins/theme_hulk/data/mbutton_bg.png index a47745a3246d5631171e12a2e7ba7e26d0fe27f7..44e952b7e7817fd831ea127b2a7eeb3e65ae849e 100644 GIT binary patch delta 178 zcmeBWf5bRJg`X|S+ueoXKL{?^yL|FQLy3C!5>H=O_J^F(!d6<<+ityMU|`7iba4!+ zxb^mmqu>Dr0S3c_3C)Z>3z#=*tZ1kcaL6s$;d02%tlz|+$!S$?si?vVB}NH`1cnAi z1~vw4j1TTN85Gtf0~MeuxwGQk^H2%Kre6$`xY&LQJ}~zM+RfnU>gTe~DWM4fd5kt# delta 886 zcmV-+1Bv|N0gVTcB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T3Q0skRCt{2+)Z-RKoAAs z_eSzh5~nDN4TsOQ0(8Ut~?Q=usj|v41Vcwgkods=QH+EN!Nz zXS!{E!e@hs{5A5oW88dr4G<{4t^D(24K!xz?Bg5Ezx;x&;>(})?(6##UspuVA^>)s z0R*^=z-Is2Y_rVAl`mhz^B3PKBIh$A>^cM25$Lj_6F|U8lOIq35E&K$Tm@K0@V@Le zp)fo2*X(xe|T?ehu#-fWNAn2#e`m4TyQ<+R&H zO zeBZxyAKKTBqyQk&x8@dr?LGdM2yoTj3h=?a8Zh#ML*(2WNS>nrAks5y%u>sFuw8K6^x%BuM9wB2-TcFww7O-mjvK%{R(yAR+L)yiM{vd4s<@SreBm4Zd|@rlj=MEX`80_N#Q zK9^+h3d20Ys&j+daey)ak-m%xn+C9I_012||IeukI*kg10)WV+rHPN2{_3lK=y!TI z?{8rQ>^Ae%e;Skli1cEVez#wG`L4OzTSo9u1JF5`cM<{sHmIE!C;*6DPR^$i-Grzw zy+(SYPG4Jq9e+Ba03dQH%eXVc?<4c?LRA2f|5$$a{pZl{AR+_#10{AF5T<*tV*mgE M07*qoM6N<$f~z`<>Amg)KN=KR+qQz`&5@>Eakt zaqI0BM^Ohs5eG+^LXjV?PXxl47;{*D1V!wf$x&Wd?El!`!DH)Le^!oF9t>;@5)26p l4U9xHK1A7OuV!$JEf;>v`qO=tgF4V!22WQ%mvv4FO#t}sG5r7l delta 1127 zcmV-t1ep8X0sIJ%B!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T`AI}URCt{2oLh3+Mi52M z9e^)6_DZsWY$WT*VzYw$Cm*&Y5(H*CA3Y!d%BnDyAf}u?Reva=Mhy`^efu#z)UW(z z1VQk>r2YB#U+(=5K@i-Dbnh1kg5Z9%_kMvO_#tV8?LEHA4DyZ739$M(Un{eFUH$zf z?CKNXR2C+Y0R+JsBv4<_W5zZK`hsnR?W!;cUu)&-t+0)tD}H6en(F1%mae!17yL5Z z=2YNVps&x2>wm|BCHeCWP@cE@A_EA5H5d%`$sMmoa22bO+#vhC2CL4AhvQk)Rz^1T7k1Pp>TXoYfh{DM3GLvrWO zwFfXmgWcZUe?vk5f?x$~bae0tKdayMwV==08+5fZZ>_vkxXun%CIlb|)<8^q|D|^N zjoSUM!hdkG%XXgI;dbvx2tW|5fmmb!3{3Z9kk97x0z>ij#I!T;PJ{pi!5Yl{xRIy( z0`<1owqs!0rb|Q*AP9a4Mn@hadtbK$N47IhFP;e)b!zXBu&v-BE%*LcAhrR6U=1`m zu014=@(qxLjs-h3aG;h7KB*@&9|p<=eXe5B3V-|1_<4e}JsaeCEg=9wum)qT|1=Kx zXp!ctE7+!X{x@~Y&_Gm2AL$MC*`M1bY@fWGIDdx_eB+T2fFM|dY(9B+8oU10`!1&f z4OxQ0uubwtV565Ey8y@HiN!Wy9}_y3S7!tv070+<`kK9d-wRXn6n@l!IwnjD>TC4R zEPoFJHNrkME+lnL*`PP*3hKcQ4cgjr%=ljt0uTgi(YwQ5x&aCA4G5GBYikd_D<0Jw zO^w2Abx;U*@OrSwwh10UCqs`eGWOAj2h`be)VQz8QBNB#nvk^Bf_pOGF6^)B zdBdIkko;)x7{Loub8(-rZ9>P4Iy|Ir6YQp=zdG02BYqGh2>wG9ZX5hL7M~k9BtIfN zA03_v0R=c0pDrAKCFmcB5+Dffgq|{Nh5ghl2ZO%F*~CSm%}qJ2aDvwPL|{S8SiyDC_K2Z{gy002ovPDHLkV1kfy3C#ci diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/mbutton_bg.png b/cinelerra-5.1/plugins/theme_pinklady/data/mbutton_bg.png index 0753247a3261690d4a28e82a5577c51e1eb15ed2..327e709cf114b478490594494e8e16b1dab27d0b 100644 GIT binary patch delta 200 zcmdnR`GawS3O`$tx4R3&e-K=-clqRrh7$GcC7!;n><>Amg{ApUYiZwMU|?wVba4!+ zxb^n#Ud{#wo`#Fv_79Bo(w-XeJyH|nQ(iI0IzmQ$-}U93PqKxJrHYyCG~4u^KCZIg z@88Yf!1~TEsCt_1@ng3Z@-6L;XL#_Og@J`ZfWd)*fe{-+4?~Wtdr#g!rUU-AhWY|B UQ9S|aKo>E1y85}Sb4q9e01>S`NdN!< delta 1190 zcmV;X1X=s|0lEp0B!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$UH%UZ6RCt{2-OExNM;M0T zw-0mBAOuE;7{^I`sB+m!d6gT;Hn);hZYCF!E66&#R3%Q84}Y;k>|lctU_jCwdb+a^ zwosq|qewXA|JhK8mS#5nO?Us@LVeHufDqz?p{_QGzPSZT;n#NYYdiS$eF)=SHTw1r z?x&}O++F-yzkTNfv0IUdUYmjX_uKhYVwQbSV^xKxfqM=GO3b^vTocJCj0ED;%Wv1DLGj1^7I=G~O#C&jUaK9_2G zZ9}hZ2}8V((hSV8LL@z+BgH z^+AsEffrwAlyjQ6H(DD|0kW>6nAc}k3eKV@dbbeby#)jMNWXn^EuxMTSAQR{@+fDn z>(F&T1%GHiE$QA$j(tY9;}|TMiSI=MK!_O&TA_|?>M<@5_dV)_0zkIy&{be>H5z+8 z-K)tZ0EGDe@rJR^Zpwf^r6;zZ7VKV+ap|a$@?fek_S!{A00=Q-K{K|3?;~|;{oj^> z#pfkkx5uXfS+{2A^O(V+p|@g;k}=W)TyuNpLV z9kvK45AA2gv37aOuze#zyFlwzb?SCu2>>BxPN5I`WSMDfe!l(u+66jKayITY=seEH zN`He#rF%8$UX4pNZ&o8*s%XA;WL<~)SI$TP2r+AlcT<3T(U5JQzm^~OJj;I^E(#_J z6^4t5w(vxGz~&yC2W;uFxu^ZCz+1)sie>X|O5FD>{9U2l@cI$}LR^BkQ-FNl(AhXX zj6Y4XU$gRX6dEp8xK!g3MKNzU=p6nYD}R)Szi3yS$+clUZ!A&?P(5HoVnvFu)tncEs}_03y`c*+6rR?wi`Fno*~jQ}J7gnyW_ z-m+!qvlv?j+Ru)h093;f!L)g+Sij%EmVr0dBWkOdKm3~nfDlvCU$X3c9uxOHE02zs z?aEA(>`!)@?>tl;SbR|q7X*8Ltn4TOAjFj9EsZHX=ICLb!0^eh6{ZZNdou`t0L|AY zf9Z$>fDlu%^ylPX*)?ra1rXvRrXRwOzsUau5aJ{C59g1q&7a!1=>Px#07*qoM6N<$ Ef|6%HGXMYp diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/menubar_bg.png b/cinelerra-5.1/plugins/theme_pinklady/data/menubar_bg.png index 87e77f8a6028d98e3dfbef725985359dfa72993b..d4e1d9938ed58de3cd708b0812a9251d71c0d569 100644 GIT binary patch delta 172 zcmcc0bBA$)3O`$tx4R3&e-K=-clqRrh7$GcC7!;n><>Amg;nJGoCRAL7#K1=T^vIy zZoR#$$jG1|z~VU1PQ*E|O~J(R0(;PcI<-TcTg4Y|iEfzk=!+)9gb-6k4h98=1_lNu l24Wcp@(Ztj<7V)*EmRQVkaw~@?gX@z!PC{xWt~$(699%)Eye%< delta 1604 zcmV-K2D|y(0o4qUB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$V(n&-?RCt{2+}m;^#U01- z@4tHv8XYaIS+nb1z#FcTz=Ltc%j7}wCZsBdqEdwQve?FJ$$ye{oavtKT(s6kWkEvN z!BptarKD-iP5ZEh@#&p_0TsEMbX1a9{L8N=>L%^6w~J! zUO-t-zI5D{+VTSz3Ha^T9`GWdzzb*-u69~*iQwg~9lxhNaUk9!Zrj-Qvx9G|o!`X@ zAc`7b+KOUod4K%nhSeycxV9`FCoGN{5=v-O)=Z1sV73tcctw)@v>?wxdR19BLv?mr*D75iZ9mVKng>5Ok0^1VOjk|ZB zF#w{d0mZb&6pE^?@EVfRldc@CSxxuKkgXg^=_zJ4*?-cJEozc#`@|+Z@so{18;=)o z>F#6RX;3w!ONTNZZ9MtHp{%FQgnSVi>RuYW62yVF_ow^f5Fm;gAhoAXgtDg*2a}T= zZ9L*ZJXD3EdX@p9V|p#r-|OU6N24o`SCB6qs{;)~jYmL0S-?ZKcHBHoZ?9|J)Zzbu znR2_xXVQl{W z0H{;p;B~dH>HpdF2id*PVgN)@1InI49JmBplTeP&k5Z=3Qf$6E@>aEHaTw+S9{sBX z!gardI0q0#4cPQF*(!8=Z9Ma%l&jz6*j$k<9e?@qt`zqI`P|_&J5|8Dwr{l{20#=w zz!d5(0IX;ENZ)>U^yP-9e_7LgV@OJea!~da{R=~#y26+fHnAMeow!MJTRorpI^7cKO1QtzFoxlMD4W z9GWQs?u!8sMGbJ1F@JnjF+Rx|pX4B6H=j6Tfb`+t;4 zY0YX@!-UqvQgsx?jlJI(VVE#{RpC|GP;~Z5!SJ-AnEix`;Qm>l7ywb!grk3KSRZI+ z$0=S5QhSsOM}wV)I#X-jLVF3vdR-D``fcvm^fNp#__ktxlu~sy zz3)N=kS`qFH({T^=w&!3u<2_Sk5k4kat>Y_-uvf<%|LVZX@Pj?T^Mejq?lHi+izc6 zyb?@H(8kk0H}~!_20#@30>p=nK9qM);l)u{4ipF7OG~;5%YkgG`ophEE`NSsFnykJ z@J+QdA8`Fa#_VaE(aVbCFILQtQZ{{!OTzp@)mF4-HL8Z2_ft$;VT${UelY-|=%KuQ z{SRTYP;tFGo)-sC{=b+(1jS9w_$0?^{;SRp z@wMPl^x$k3%J$Vr)4HkYzOiJ>J!^J=S1^8&V+zI5-#4iG=XGE4e?9&p20#@3N-SD6 z7kz`#p5aQPU0A&9mYQ~TSFn$}mRVtW@uu~&{_o$#N}=sEc_lai0000<>Amg-ryME%h!jFfinMx;TbZ z+ET?0+Va7@Qoe9-0Z`l3>?RUHVx^D0M(5J2zR|*(8 t7!(*97#Nrsh-DnOo|aZ6!N~WO;bc13g|>vh=Ye)Jc)I$ztaD0e0sw2KH`@RJ delta 1244 zcmV<21S9+60q_ZsB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$UZAnByRCt{2+|5(lMi|HO z?@C(Bvata}3`t07UM87zI_aeC^wxhTe`aqzH9aILQ<6?I4SyLh7>EJcmi4yVg9F4N zF)s$YojjilgRJ%LML$XV>{>l}^28#9_|I^vKK_Gw0P=Sc`EHkdzXu;(ss6Whl9xN! z)LghPuhD3XGFBnPC2@R@sfP?Y3oq3{{))h&YCb4RoP0M=Mck`Ela2nhfo z#!R_tAOMth$-AGg|C?S$_w_DQ-z*LsPnsd6dwnxEP%e9>U~$6F-39ZWC98cSz&>%@6_wnX`U9h(`Vwbsz(!V&;NjG0n^ z>3>%NyeS_u87$--eJO`8J=$U}5J=%W$)7Z@PpBPpe=$Yct7=I4Q z6Mzuopuk_OQo1uwym^4lOg{k5u>b#3x_2CGW>B7U^!^VL076_X1^z;n(%pGXuRkf5 z9PR*A3gxKb?Jr{p+GXaaWlS%nbbAh^j~5F`00?nK3iT<<_pXtJG2!#|6J<>AmMWhVGSa;)_lJR%;o-Mm>a~WL8XA)p=U|?WmU|}GR q@gTH?;XuUickhxzr*2GG!7L)I%Xwi(iLeLIUItHBKbLh*2~7a1RWfb> delta 1714 zcmV;j22J_i0m2QCB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$WKS@MERCt{2-P>{-w;90k zKd|RrN~9=Sk!{)Xp^2LGs`X6s6n+gqN1v|K=}e~WbS6z~*MA53AX^kAQe1MmyEyb> zY09#gG;YkO)8cm_&59rvyub(G1C|mG9z3u(j`M%XKR7tJ>^3-#b4lc7H^6b6%i~{m z103gnk(Y&}cX}WNw$`ZA83>sFXoz!HAjJ7fq(F$Kkgau7#FvP`14L6?d{_x!!CDK( zVvPmctn#g~6n{?#=Wp@zKdR$6AM&z@YA|8^w^xK)E$YF9_*#efdYkmlCNhxJ{TzQI zCH!m+znu_lB+Oo%P&_|IPb&OY1XyI`Q@$Bf?4K}wGC=1Qw$@l<@!K)ee;zS?)Tip_ zcv*<4HU3(}cIp*3xDxi5yF$`qDDf&kQp`vFInm4ntTw2;#8etnYt*p7)*2al&5Q$> zy&i!lvBqNNvxxV(C4l3sfYk;Ocm(YPj3wLK!j@`2H3zR1k+dSje0ncDiHOd+qu+`b zonMVh!hc={S6Yi@!@JI`Cl$$V7ia=UeNrsyNN#RmEtqMA@FYPur9PgXYo`kUj50i|z9Dw7jgx^U~ zd6RTAl_uWl(E4f{nFOfuY_UcMKnm*7teG_gE9m%hOZvYH0FJW?UK*nFrjwgW6K<_7 zUK{`Q6~jM0qkKI=7d2K}f_Ae5AQyRnU*>?W3jmI@0y2=OaWez3wZh9ntg+}xg)V9U ziht+F*h)2T5TIu@UMp&@SJ40Mk~&=gaGVtozC_RW-K{dHQPE`YOSM?vt8s}4e5#`y zYb-MK=X?LlJL@XA0N^+)AUwI~#WD#fUyVQrs=rDtJxTvi9s$;OylPAq7Z5w7tG4YJVz?j05l_LJG3IEyC?}T3>Aw_F5o6RW!Ib zt#I3bjn*aqEf4~gm(96-r4dr1Ml+_5j{pdJ z8Ee0}iq(el^@w^{{K#EDo(lkuvjWyOd4T-;L*%moLdwO1JYMWG+aD5cwJ7#a2!FdN zYE)p2#Y#*0=5$d{`F2eCc8rXC;u{^(yFF&FM@^ZJ%@Zss?*f41tbiI7WP6`cJRK~O zf$!Aw-=0e$FY-S|4x(Kg%aK~zct$z)|m&nM+Zzt486ZE)5FlDnX=gzP^Q? zl;_U4;93oZaS&WhB7$=Qf51v2!J!F(Bz1Oyui zh~_*%bghlQ9y5D21VEk6C=W)MN;7$QhzvdaPD*sWP4;Covl##VfS{Yw`G0yBjHP%n zB-!oarOi>}s-GjIK&BzK(iHp07ux6ofaClUjK$1q%=`p!4Mf*FfM^nY2O~^TA*5I= z)$?!Pu>QLnq<4BupBzygj;Ritd_a1)$Hs1#$-_g2e|$=`(;?`l2wyULae~*1sE?;u zZHRX|c&!jG3okUw1pvpnEPwA!$*nR}N9Wh`)>ua0?2~=IMY7wac;1ZQrc~tLzCp$T z>FrITtLsc2_L=RU;3Wak)i&`?iW(M}iY8$w1ZGzAAr}A~=aQIGA!GkSlJFc0lZS^y z+v{YXU!iz@jH#NOfSJ|g|Ck4YJDcdDrhGL*MjplU<8zN7{}69)Z-4I(pXl>Aj`I=J z@swn@OLB7qEKMNzfvr8Amsn+3|LqNgCs3oa^8i*Es(ua@(qHuuLXdxV_>