%include;css %include;hed %message_to_wizard;
%include;perso_utils %if;not cancel_links; %include;menubar %end; %define;implex1(xx) onmouseover="over1('xx')" onmouseout="out1('xx')" %nn; %end;

%nn; %if;(evar.t = "F") %if;(public_name != "")%public_name;%else;%first_name;%end; %if;(qualifier != "") %qualifier;%end; %sp;%surname; %if;(alias != "") (%alias;)%end;
- [*surnames branch] - %elseif;(evar.t = "E") %if;(public_name != "")%public_name;%else;%first_name;%end; %if;(qualifier != "") %qualifier;%end; %sp;%surname; %if;(alias != "") (%alias;)%end;
- [*list eclair] - %else; %apply;a_of_b%with;[*ancestors]%and; %if;(public_name != "")%public_name;%else;%first_name;%end; %if;(qualifier != "") %qualifier;%end; %sp;%surname; %if;(alias != "") (%alias;)%end; %end; %if;(evar.t = "D") [up to] %pvar.1;%end; %end;

%if;not cancel_links; %include;buttons %end; %define;ancestors_by_list(xx, nnn) %if;(xx.has_parents and nnn > 1) %end; %end; %define;ancestors_horizontally(pp, xx, ss1, ss2, ss3, zz) %if;(xx > 0) %if;(pp.sosa=zz or (not browsing_with_sosa_ref) or evar.implx="") %if;(pp.has_parents) %apply;ancestors_horizontally( "pp.father", xx - 1, "ss1     ", "ss1 ┌── ", "ss1 |   ", zz*2) %end; ss2%nn; %if;(not cancel_links) %pp; %else; %pp;%nn; %end; %pp.title;%pp.dates;
%if;(pp.has_parents) %apply;ancestors_horizontally( "pp.mother", xx - 1, "ss3 |   ", "ss3 └── ", "ss3     ", zz*2+1) %end; %else; %let;sss;sosa_%pp.sosa;%in; ss2%nn; %if;(not cancel_links) %pp; %nn; %sp;(==)%sp;
%else; %pp;%nn; %sp;(==)%sp;
%end; %end; %end; %end; %if;(evar.v = "" or evar.v <= 1) [*specify::generation/generations]0. %else; %if;(evar.t = "L") %( by list %) %let;xx; %if;(bvar.max_anc_level = "")%apply;min(evar.v, max_anc_level, 7) %else;%apply;min(evar.v, max_anc_level, bvar.max_anc_level)%end; %in;

%apply;togena(xx).

%apply;ancestors_by_list("self", xx) %elseif;(evar.t = "H") %( horizontally %) %let;xx; %if;(bvar.max_anc_level = "")%apply;min(evar.v, max_anc_level, 7) %else;%apply;min(evar.v, max_anc_level, bvar.max_anc_level)%end; %in;

%apply;togena(xx).

%apply;ancestors_horizontally( "self", xx, "   ", "── ", "   ", 1)
%elseif;(evar.t = "E" and evar.sort != "") %( list eclair sorted by date begin or number of individuals or number of events %) %empty_sorted_list; %foreach;ancestor_surname(evar.v) %apply;add_in_sorted_list%with; %if;(evar.sort = "ind") %ancestor.nb_ind; %elseif;(evar.sort = "evt") %ancestor.nb_events; %else; %ancestor.date_begin.year; %end; %and;%ancestor.surname_end; %and;%ancestor.surname_begin; %and;%ancestor.place; %and;%ancestor.date_begin.prec; %and;%ancestor.date_begin.year; %and;%ancestor.date_end.prec; %and;%ancestor.date_end.year; %and;%ancestor.nb_ind; %and;%ancestor.nb_events; %end; %end; %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togena(nb_gen).

%if;(not cancel_links) %end;
%foreach;sorted_list_item; %end;
[*surname/surnames]0 [*place] [*date begin] [*date end] [*nb individuals] [*nb events]
%item.2;%item.3 %item.4; %if;(item.5 = "<") /%item.6; %elseif(item.5 = ">") %item.6;/ %elseif;(item.5 = "|" or item.5 = "..") %item.6; %else; %item.5;%item.6; %end; %if;(item.7 = "<") /%item.7; %elseif(item.7 = ">") %item.8;/ %elseif;(item.7 = "|" or item.7 = "..") %item.8; %else; %item.7;%item.8; %end; %item.9; %item.10;
%elseif;(evar.t = "E") %( list eclair by alphabetic order %) %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togena(nb_gen).

%if;(not cancel_links) %end;
%foreach;ancestor_surname(evar.v) %end;
[*surname/surnames]0 [*place] [*date begin] [*date end] [*nb individuals] [*nb events]
%ancestor.surname_end;%ancestor.surname_begin; %ancestor.place; %if;(ancestor.date_begin.prec = "<") /%ancestor.date_begin.year;%nn; %elseif;(ancestor.date_begin.prec = ">") %ancestor.date_begin.year;/%nn; %elseif;(ancestor.date_begin.prec = "|" or ancestor.date_begin.prec = "..") %ancestor.date_begin.year;%nn; %else; %ancestor.date_begin.prec;%ancestor.date_begin.year;%nn; %end; %if;(ancestor.date_end.prec = "<") /%ancestor.date_end.year;%nn; %elseif;(ancestor.date_end.prec = ">") %ancestor.date_end.year;/%nn; %elseif;(ancestor.date_end.prec = "|" or ancestor.date_end.prec = "..") %ancestor.date_end.year;%nn; %else; %ancestor.date_end.prec;%ancestor.date_end.year;%nn; %end; %ancestor.nb_ind; %ancestor.nb_events;
%elseif;(evar.t = "F" and evar.sort = "on") %( surnames branch sorted by number of branches %) %empty_sorted_list; %reset_count; %foreach;ancestor_surname(evar.v) %incr_count; %apply;add_in_sorted_list( ancestor.nb_times, ancestor.surname_end, ancestor.surname_begin, ancestor.sosa_access, ancestor.place, ancestor.date_begin.prec, ancestor.date_begin.year, ancestor.date_end.prec, ancestor.date_end.year) %end; %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togena(nb_gen).

%if;(count > 100)

[*number of branches] : %foreach;sorted_list_item; %if;(prev_item.1 != item.1) %item.1; %end; %end;

%end;

[*help surname branch].

%if;(not cancel_links) %end;

%elseif;(evar.t = "F") %( surnames branch %) %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togena(nb_gen).

[*help surname branch].

%if;(not cancel_links) %end;
%foreach;ancestor_surname(evar.v) %end;
[*surname/surnames]0 [*nb branches] [*place] [*date/dates]0
%ancestor.surname_end;%ancestor.surname_begin; %if;(evar.cgl != "on") %ancestor.nb_times; %else; %ancestor.nb_times; %end; %ancestor.place; %if;(ancestor.date_begin.prec = "<") /%ancestor.date_begin.year;%nn; %elseif;(ancestor.date_begin.prec = ">") %ancestor.date_begin.year;/%nn; %elseif;(ancestor.date_begin.prec = "|" or ancestor.date_begin.prec = "..") %ancestor.date_begin.year;%nn; %else; %ancestor.date_begin.prec;%ancestor.date_begin.year;%nn; %end; -%nn; %if;(ancestor.date_end.prec = "<") /%ancestor.date_end.year;%nn; %elseif;(ancestor.date_end.prec = ">") %ancestor.date_end.year;/%nn; %elseif;(ancestor.date_end.prec = "|" or ancestor.date_end.prec = "..") %ancestor.date_end.year;%nn; %else; %ancestor.date_end.prec;%ancestor.date_end.year;%nn; %end;
%end; %end; %include;trl %include;copyr
%include;js