Differential Document

OLD

http://www.ncuc.org/governance/bylaws/

NEW= Taken from https://docs.google.com/document/d/1wYP4-JGKA_u6QligvViBkygzj8Q62kmFF-ky5XSWWDU/edit?ts=582f8b59# on 19.11.2016 Comments
I. Constitution I. Constitution
A. The Noncommercial Users Constituency (“Constituency”) of ICANN’s Generic Name Supporting Organization (GNSO) participates as a member of the Non-Commercial Stakeholders Group (NCSG) according to Article XX, Section 5 of the Bylaws of the Internet Corporation for Assigned Names and Numbers. A. The Noncommercial Users Constituency (NCUC) of the Internet Corporation for Assigned Names and Numbers (ICANN) Generic Name Supporting Organization (GNSO) is a constituency of the Non-Commercial Stakeholders Group (NCSG), which was established by Article 11, Sections 3 and 5 of the Bylaws of the Internet Corporation for Assigned Names and Numbers.
B. The purposes of the Noncommercial Users Constituency are to represent the views and interests of those who engage in noncommercial speech and activity on the Internet. It is further created to provide a voice and representation in ICANN processes to non-profit organizations and individuals that serve non-commercial interests and provide services such as education, community organizing, promotion of the arts, public interest policy advocacy, children’s welfare, religion, scientific research, human rights and the advancement of the Internet as a global communications system for all segments of society. B. The purpose of the Noncommercial Users Constituency is to represent individuals and organizations that use the domain name system (DNS) for noncommercial purposes. The primary purpose of the Constituency is the protection of noncommercial communication online, which includes expression for political, personal, research, educational, and recreational purposes. It gives a voice and representation in ICANN processes to nonprofit organizations that serve noncommercial interests, such as nonprofit educational and philanthropic organizations, human rights and public interest policy advocacy organizations, and families or individuals who register domain names for noncommercial personal use and are primarily concerned with the noncommercial, public interest aspects of domain name policy.
C. The NCUC is accountable to its constituents and maintains such accountability through elections, term limits, consultation, transparency, and review and redress mechanisms, which are described in these bylaws and in its other procedural documents. New section to encapture NCUC accountability mechanisms.
II.  Organization and Structure II.  Organization and Structure
A. The Noncommercial Constituency shall consist of three distinct parts: the Membership, the Executive Committee and the Policy Committee. A. The Noncommercial Users’ Constituency shall consist of three distinct parts: the Membership, the Executive Committee, and the Policy Committee.
B. The Membership shall consist of organizations and individuals that meet the Membership criteria and complete the processes set out in Section III, below, and receive a notice of acceptance from the Executive Committee Chair, or the Secretary acting with the approval of the Chair. B. The Membership shall consist of NCSG member organizations and individuals that meet the membership criteria and complete the processes set out in Section 2.2 of the NCSG Charter, and who choose the NCUC constituency. The NCUC Executive Committee reserves the right to review and approve NCSG members who decide to join the NCUC.
C. The Executive Committee, directed by the Chair, shall be responsible for the administration of the Constituency, including arrangements for meetings, website communications, listserv, and teleconferences. Selection of the Executive Committee, and its powers and duties, are set out in Section IV, below. C. The Executive Committee, directed by the Chair, shall be responsible for the administration of the Constituency, including arrangements for meetings, website communications, mailing lists, and teleconferences. The selection process of the Executive Committee, along with the EC’s powers and duties, are defined in Section IV below.
D. The Policy Committee shall be chaired by the Constituency’s elected GNSO Council Representatives. Their selection and duties are set out in Section V, below. D. The Policy Committee shall consist of the NCUC Chair, elected GNSO Council Representatives who are also NCUC members, and any active NCUC members who volunteer for the Policy Committee, such as those involved in policy development process (PDP) working groups, after review by the NCUC EC, within the limits set out in Section V.B. The Policy Committee should also have a vice chair. The Policy Committee’s selection process and duties are set out in Section V below.
III. Membership III. Membership
A.  Eligible organizations. Organizations meeting the following criteria are eligible for membership in the Constituency:

1. Organizations incorporated as a non-commercial entity (in countries that have such a provision in their commercial code) or, if unincorporated, or if operating in a country without provisions for non-commercial incorporation, operate on a not-for-profit basis primarily for non-commercial purposes, and

2. Be the exclusive user of at least one domain name. This can be verified by its listing as the registrant and/or administrative contact in the WHOIS data of the domain name, by the name resolving to a website controlled by and representing the organization, or other indications that prove to Secretary-Treasurer and Chair that the prospective Member Organization is the primary user of a domain name.

3. Are engaged in activities that are primarily non-commercial, including, e.g., political advocacy, educational, religious, charitable, scientific and artistic.

A. Eligible organizations.An organization that meets the following criteria is eligible for membership in the Constituency:

  1. The organization has been accepted for membership by the NCSG;
  2. The organization is incorporated as a noncommercial entity (in countries that have such a provision in their commercial code) or, if unincorporated or if operating in a country without provisions for noncommercial incorporation, that operates on a not-for-profit basis primarily for noncommercial purposes; and
  3. The organization is the exclusive user of at least one domain name. This can be verified by:

(1) The individual or organization being listed as the registrant and/or administrative contact in the WHOIS data of the domain name;

(2) The name resolving to a website controlled by and representing the member organization; or

(3) Other indications that prove to the NCUC-EC that the prospective member organization is the primary user of a domain name; and

  1. The organization is engaged in online activities that are primarily noncommercial, including, for example, those related to advocacy, education, religion, human rights, charity, science, and the arts.
  2. In the case of a membership-based organization, the organization should not only be noncommercial itself, but should have a primarily noncommercial focus, and the membership should also be primarily composed of noncommercial members (for example, while a chamber of commerce may be a noncommercial organization itself and may even have some noncommercial members, if it is primarily composed of commercial organizations and has a commercial focus, it would be ineligible for membership).
Added
B. Ineligible organizations. The membership of the NCUC specifically excludes:

1. Political organizations whose primary purpose is to hold government office and/or elect government officials

2. Commercial organizations and associations of or for the benefit of commercial entities (even if they are non-profit in form)

3. Organizations that provide services under contract or MoU with ICANN, or are represented in ICANN through another Supporting Organization

B. Ineligible organizations.

  1. The membership of the NCUC specifically excludes:
  2. Political organizations whose primary purpose is to hold government office and/or elect government officials;
  3. Commercial organizations and associations that advocate for the benefit of commercial entities (even if the organizations are nonprofit in form);
  4. Organizations that are represented in ICANN through another Supporting Organization specified in the ICANN Bylaws or GNSO Stakeholder Group;
  5. Organizations that provide, or have provided, services under contract or Memorandum of Understanding with ICANN within the past six (6) months;
  6. Government organizations or government-run organizations; and
  7. Intergovernmental organizations fully or partially composed of nation states.
C. New members shall take the following steps to notify the Constituency of their desire to join:

1. Complete an application form, which can be downloaded from the Constituency website.

2. Submit the filled out form and fee to the Secretary-Treasurer of the Constituency. Where appropriate, the form may be accompanied by a request for fee waiver or reduction.

3. Designate an Official Representative and any Additional Representatives to the Constituency.

4. Membership shall become complete upon notification of acceptance by the Constituency Chair, or the Secretary-Treasurer acting with the consent of the Chair.

C. An organizational member of the NCSG shall take the following steps to notify the Constituency of their desire to join:

  1. Upon or after joining the NCSG, they designate the NCUC as a choice of constituency.
  1. Notify the NCUC Chair via email.
  1. Designate their Official Representative (see paragraph III.D) and any Additional Representatives to the Constituency.
  1. Membership shall become complete upon notification of acceptance by the Constituency Chair or his/her agent.
D. Each Member, in its application, shall appoint an individual to serve as the Official Representative to the Constituency. Such individual will hold the powers of voting and speaking publicly for the Member within votes and discussions of the Constituency. The Official Representative must be formally authorized to represent the Member Organization by a responsible official of that organization.

The ST and Chair are authorized to make inquiries to the Member Organization to verify their selection. Members can change their Official Representative in two ways: 1) the Director of the Member Organization can notify the Secretary of the change; or 2) the existing Official Representative can resign and submit to the Secretary the name of the new Official Representative (the new Official Representative must also be authorized and verified). If an Official Representative holds an elective office in the NCUC, Members cannot change their Official Representative until the individual’s term of office is completed.

D. Each Member organization, in its application, shall appoint an individual to serve as the Official Representative to the Constituency. This representative will hold the powers of voting and speaking publicly for the Member within votes and discussions of the Constituency. The Official Representative must be formally authorized to represent the Member Organization by a responsible official of that organization. Representatives should be verified by the NCSG, but the NCUC EC may also make inquiries to the Member Organization to verify their selection if necessary. A disclosure statement as to sources of its funding should be provided by the Member Organization in accordance with paragraph III.I of these bylaws. Members can change the designated Official Representative in two ways:1. The Chief Executive or Executive Director of the Member Organization can notify the NCUC EC in writing of the change; or

2. The existing Official Representative can resign and submit to the NCUC EC in writing the name of the new Official Representative. The newly designated Official Representative must have the delegated authority to represent the Member Organization as described above. If an Official Representative holds an elected office in the NCUC and is subsequently replaced as organizational representative, the elected office will be vacant and filled by the NCUC EC according to the procedures generally applicable for filling a vacancy in that position.

E. Each Member may also designate additional individuals to serve as Additional Representatives to the Constituency. Such Additional Representatives may not vote, but otherwise may participate in Constituency listserves, discussions and meetings. The Executive Committee shall, at its discretion, determine limits to the total number of Additional Representative may appoint (provided the limit shall apply to all Constituency Members equally). E. Each Member may also designate additional individuals to serve as Additional Representatives to the Constituency. Such Additional Representatives may not vote, but otherwise may participate in the Constituency mailing list, discussions, and meetings. In case an Official Representative resigns without notifying the NCUC of a new Official Representative from the organization, the Additional Representative automatically becomes the representative of the organization within the NCUC. The Executive Committee shall, at its discretion, determine limits to the total number of Additional Representatives that an organization may appoint (provided that the limit shall apply to all Constituency Members equally). Additional Representative will be automatically the official rep.
F. The Executive Committee shall create procedural rules for existing members to maintain their good standing. F. The Executive Committee shall create procedural rules for existing members to maintain their membership eligibility, and shall review and, when justified, expel members whose status has changed in ways that no longer make them eligible for membership under the criteria stated in sections III.A for eligible organizations or III.G for eligible individuals.
G. The Membership shall have the following participation rights in regard to the administration and policy development processes of the Constituency:

1.            Elect the Chair and Regional Representatives; nominate Members to positions elected by the general membership and by the Executive Committee, with timely notification of all elections and public posting of all names nominated to the membership email list.

2.            Initiate a policy development process within the constituency by proposing a set of terms of reference and obtaining expressions of support for it on the public discuss list from a minimum of eight (8) Members, including the proposer.

3.            Be given timely notice of all position papers developed by the Policy Committee on the public list and afforded an opportunity to comment on them

4.            Submit agenda items to Constituency meetings and Executive Committee meetings. The submission must be made at least ten days before the meeting and be seconded by two other Member Organizations.

5.            Propose charter amendments. A petition of five (5) percent of the then- current members shall be sufficient for putting a charter amendment on the ballot for consideration at the next regular election.

G. Eligible Individuals.Natural persons who are active individual members of the NCSG as defined by NCSG bylaws and who meet the following criteria are eligible for membership in the Constituency as an “Individual Member.” Natural persons who agree to advocate for noncommercial interests and who fall within one of the following three categories are eligible to join:

  1. An individual Internet user who has one or more registered domain names for personal, family, or other noncommercial use; is concerned with the noncommercial aspects of domain name policy; and is not represented in ICANN through membership, personally or by his or her full-time employer, through membership in another Supporting Organization, or through membership in a GNSO Stakeholder Group. Representatives in the Government Advisory Committee (GAC), or those working for a state-supported top-level domain (TLD) registry operator may not join the NCUC as individual members. Those employed in government departments and intergovernmental organizations who are not directly involved in ICANN-related work may be eligible to join at the discretion of the NCUC EC. Individuals should provide a disclosure statement in accordance with paragraph III.I with their application. Failure to do so at the time of application could be grounds for an ineligibility finding by the EC.
  1. An individual Internet user who is primarily concerned with the noncommercial aspects of domain name policy, and is not represented in ICANN personally or by his or her employer through membership in another Advisory Committee or Supporting Organization and their stakeholder groups.
  1. An individual who is employed by or a member of a non-member noncommercial organization (such as a university, college, or large nongovernmental organization (NGO)) can join the NCSG in an individual capacity if his or her organization has not already joined the NCSG. The Executive Committee shall, at its discretion, determine limits to the total number of individual members who can join from any single organization (provided the limit shall apply to all Organizations, of the same size category, equally).
H. Eligible Individuals. Individual persons who meet the following criteria are eligible for membership in the Constituency as an “Individual Member”.  Individual persons who agree to advocate for a noncommercial public- interest position within the Constituency and who fall within one of the following three categories are eligible to join:

i)  An Individual who has registered domain name(s) for personal, family or noncommercial use;

ii) An Individual Internet user who is primarily concerned with the public-interest aspects of domain name policy, and is not represented in ICANN through membership in another Supporting Organization or GNSO Stakeholder Group;

iii) An Individual who is employed by or a member of a large noncommercial organization (universities, colleges, large NGOs) and it is too complicated or the Individual lacks the standing to get his/her organization to join on an organizational basis.

H. The Membership shall have the following participation rights in regard to the administration and policy development processes of the Constituency:

  1. Elect the Chair and Regional Representatives; nominate Members to positions elected by the general membership and by the Executive Committee, with timely notification of all elections, and publicly post all names nominated to the membership email list.
  2. Initiate proposals for policy development or public comment within the Constituency and obtain expressions of support for it on the public discussion list.
  3. Be given timely notice of all positions developed by the Policy Committee on the public list and afforded an opportunity to comment on them.
  4. Submit agenda items to Constituency meetings and Executive Committee meetings.
  5. Propose bylaw amendments. A petition of five (5) percent of the active members shall be sufficient for putting a bylaw amendment on the ballot for consideration at the next regular election.
I. A disclosure statement should be provided by an individual or an organization who is receiving an individual or group research grant, funding, or consulting fee from ICANN, another Supporting Organization or GNSO Stakeholder Group, governments, or commercial entities involved in ICANN-related activities. This should be done in a form and manner prescribed by the Executive Committee, which will be published on the NCUC website. These disclosure notifications will be published. Members can request the EC to keep parts of the disclosure statement confidential, and the EC will decide at its own discretion whether to reject or accept the confidentiality request. The list should be updated periodically and old disclosures removed. The EC will follow up on any disclosures they believe require further consideration. Failure to disclose financial support in a timely manner will result in the reconsideration of membership. New section!
J. In the event that it appears to the Chair and the EC that there is an organized effort by a single organization(s) or chapters to control or dominate the Constituency, then the organization(s) and/or chapters should be suspended and subject to a membership review by a majority vote of the EC. The EC can also consider limiting, in a nondiscriminatory manner, the membership eligibility of different chapters of, or individuals affiliated with, the same organization(s). New section
IV. Executive Committee IV. Executive Committee
A. The Constituency shall have an Executive Committee (EC). A. The Constituency shall have an Executive Committee (EC).
B. The EC shall consist of the Chair, a Secretary-Treasurer and Regional Representatives (one for each of the geographic regions recognized by ICANN). These EC members shall:

1. Be elected on an annual basis by Constituency members in an online vote (with the exception of the Secretary-Treasurer, who is appointed by the EC).

2. Shall each serve no more than three consecutive terms on the EC.

3. Shall consist only of individuals designated by Members as their Official Representative to the Constituency.

4. No two EC members may be from the same organization, or be representatives of different national chapters of the same organization.

B. The EC shall consist of the Chair, a Vice Chair, a Treasurer, and Regional Representatives (one for each of the geographic regions recognized by ICANN). If the Chair of the NCSG is an NCUC member, at the EC’s discretion, she or he can serve in an observer capacity on the NCUC Executive Committee.
C. The Chair is responsible for the overall administration of the Constituency. Specific duties include: establishing and managing the email lists required by the charter, arranging meetings and their facilities, establishing and managing the Constituency’s website, and overseeing membership recruitment, processing and retention. The Chair shall also:

1. Prepare budget requests, as necessary, for approval by the EC.

2. Decide whether to accept the Secretary-Treasurer’s recommendations as to whether applicants meet the membership criteria, or pass them to the full EC for challenge or review

3. Manage general communication with ICANN on matters outside the Policy Committee’s responsibility.

4. Solicit nominations from Constituency Members and appropriate non- commercial experts and representatives to be elected by the EC to fill positions that open from time to time in the ICANN process.

5.  Establish ballots for voting, for review by the EC.

6. Organize and chair Constituency meetings and teleconferences, oversee the timely publication of meeting notes, and act as a Constituency spokesperson on matters outside the Policy Committee’s responsibility.

7. Provide oversight of the Policy Committee’s process and good communication with the constituency membership.

8. Manage communication to the constituency announce list. The Chair may delegate this task to one of the Regional Representatives.

9. Whenever EC votes are required by the charter but inaction by other members of the EC prevents tasks and duties required by the charter to be executed, the Chair is empowered to act to further the interests of the constituency. In the event of a tie vote on the EC, the Chair shall act as tiebreaker.

C. The Chair is elected by the NCUC membership and is responsible for the overall administration of the Constituency. Specific duties include: overseeing the establishment and management of the email lists required by the Charter; arranging meetings and their facilities; establishing and managing the Constituency website; and overseeing membership recruitment, processing, and retention. The Chair, who is also the NCUC EC chair, shall also:

  1. Prepare budget requests, as necessary, for approval by the EC.
  2. Manage general communication with ICANN on matters outside the Policy Committee’s responsibility.
  3. Issue announcements to the Constituency regarding in-person meetings and publish agendas within 15 days of the meetings.
  4. Issue announcements for calls within seven (7) days of their scheduled time.
  5. Solicit nominations from Constituency Members and representatives to be elected by the EC to fill positions that open from time-to-time in the ICANN process.
  6. Establish ballots for voting, for review by the EC.
  7. Organize and chair Constituency meetings and teleconferences, oversee the timely publication of meeting notes, and act as a Constituency spokesperson on matters outside the Policy Committee’s responsibility.
  8. Provide oversight of the Policy Committee’s process and good communication with the constituency membership.
  9. Manage communication to the Constituency announce mailing list. The Chair may delegate this task to one of the Regional Representatives.
  10. Whenever EC votes are required by these Bylaws but inaction by other members of the EC prevents tasks and duties required by the Bylaws to be executed, the Chair is empowered to act to further the interests of the Constituency. In the event of a tie vote on the EC, the Chair shall act as tiebreaker.
D. The Regional Representatives shall be responsible for:

1. Recruiting new members from their regions

2. Working with members from their region to help them understand the ICANN structure and participate in the Constituency and ICANN processes.

3. Voting on the EC on the matters listed in section IV.F below. All EC votes called by the Chair must be responded to in ten days. Regional representatives who fail to vote within that time limit four times in a row are considered to have resigned their office as per VII.B.2 below

4. Ensure that members from their region are made aware of and respond to calls for comments by members of the Policy Committee on Working Group and other Council and other ICANN policy

development activities. Regional Representatives must provide a reply to all such requests from the Policy Committee.

D. Regional EC Representatives:

  1. Shall be elected on an annual basis by Constituency members in an online vote.
  2. Shall each serve no more than three consecutive terms on the EC. There must be at least one (1) annual term before former EC members who have served three (3) consecutive terms are eligible to run again.
  3. Shall consist only of Individual Members or individuals designated by Organizational Members as their Official Representative to the Constituency.
  4. No two EC members may be the employees of the same organization, or be representatives to the NCUC of different national chapters of the same organization.
New section! Changes lettering for the rest of the chapter.
E. The Secretary-Treasurer

1. The EC shall elect a Secretary-Treasurer (ST) to assist in the management of the Constituency. The ST will be nominated to the EC by the Chair, with notification to the membership, and must be approved by a majority vote with at least three members voting. If three EC members fail to vote within two weeks of the nomination, the Chair shall appoint the ST.

2. The ST shall process membership applications, research applicant organizations, and provide an initial recommendation to the Chairman regarding membership eligibility.

3. The ST shall be responsible for collecting dues and any other appropriate fees from members, depositing such fee, managing the Constituency’s bookkeeping and accounting, and regularly reporting to the Chairman regarding finances and accounts.

4. The ST shall assist the Chairman as needed, including in the coordination of meetings and the timely publication of meeting notes.

5. The ST shall be a nonvoting member of the EC, and shall be expected to participate in all EC meetings.

E. Responsibilities of the Regional Representatives:

  1. Recruiting new members from their regions and periodically reporting to them.
  2. Working with new and current members from their region to help them understand the structure of ICANN and participate in the Constituency and ICANN processes.
  3. Voting in the EC on the matters listed in section IV.F below. All EC votes called by the Chair must be responded to within seven (7) days. Regional representatives who fail to vote within that time limit three times in a row are considered to have resigned their office as per section VII below.
  4. Attend EC meetings. Regional representatives who fail to attend more than three (3) meetings in a row are considered to have resigned their office as per VII below. If they send apologies for their absence, after three (3) times, they will be treated as per section IV.E.6 below.
  5. Ensure that members from their region are made aware of and respond to calls for comments by members of the Policy Committee, Working Groups, GNSO Council, and other ICANN policy development activities. Regional Representatives must provide a reply to all such requests from the Policy Committee.
  6. If an EC member consistently fails to meet her/his responsibilities, the other EC members shall notify the person in question and discuss how to rectify the situation. If performance does not improve to satisfactory levels within three (3) months, the other EC members besides the person in question may, on a unanimous vote, remove the member from office and appoint an interim replacement who will serve until the next election cycle.
F. The Executive Committee shall have the following duties:

1. Hold official meetings, either in person or by teleconference, at least four times a year.

2. Establish, revise and change procedural rules to help in the management and operation of the Constituency.

3. Approve all ballots for online elections

4. Review and approve by voting the budgets submitted by the Chairman.

5. Handle appeals of initial Membership decisions made by the ST, by majority vote, with at least four members voting.

6. Appoint the Constituency’s representatives to the ICANN Nominating Committee by majority vote, with at least four members voting.

7. Appoint the Constituency’s representatives to the Public Interest Registry Advisory Committee (.ORG) by majority vote, with at least four members voting

8. Fill temporary vacancies in the Chair position and oversee elections, as appropriate, for replacement of GNSO Council representatives, the Chair, or Regional Representatives for bad actions or nonparticipation.

9. Appoint a delegate(s) to serve on the NCSG Executive Committee. Any NCSG Executive Committee delegates shall also serve in a ex-officio (nonvoting) capacity on the NCUC Policy Committee and NCUC Executive Committee.

F. The Executive Committee shall have the following duties:

  1. Hold official meetings, either in person or by teleconference, at least four times a year.
  1. Establish, revise, and change procedural rules to help in the management and operation of the Constituency. Each elected Executive Committee, no later than six (6) months after taking office, is required to start reviewing the procedural rules that need to be established and revised.
  1. Approve all ballots for online elections.
  1. Review and approve by voting the budgets and expenditures submitted by the Chair.
  1. Appoint the Constituency representatives to the ICANN Nominating Committee by majority vote, with at least four members voting.
  1. Appoint a Constituency representative to the Public Interest Registry Advisory Council (.ORG) by majority vote, with at least four members voting.
  1. Appoint representatives to fill any position in the NCSG, GNSO, or ICANN that requires Constituency representation by majority vote, with at least four members voting.
  1. Fill temporary vacancies, per section VII, in the Chair position, and oversee elections, as appropriate, for the Chair or Regional EC Representatives for bad actions or nonparticipation.
  1. Appoint a delegate(s) to serve on the NCSG Executive Committee. Any NCSG Executive Committee delegates shall also serve in an ex-officio (non-voting) capacity on the NCUC Policy Committee and the NCUC Executive Committee.
  1. Appoint the Chair and Vice Chair of the NCUC Policy Committee.
G. Challenging EC DecisionsAny decision by the NCUC EC regarding removal of an officer, removal of a member due to an eligibility change, or approval of a ballot can be appealed by requesting a full vote of the NCUC membership. The appeal shall be preceded by a request for review:

1.     Request for review

Requests for review shall be submitted to the NCUC Executive Committee by at least fifteen (15) NCUC members, with both organizational and individual members counted as one member each. The NCUC EC must take requests under consideration and respond within ten (10) days. If, after consideration of any documentation and reasoning provided by those requesting review, the NCUC EC does not reverse its decision, the NCUC EC and those making the request for review should attempt to negotiate a mutually agreeable solution within ten (10) days.

2. Appeal

Appeals against the NCUC Executive Committee decisions shall be launched if the NCUC EC and those making the request for review cannot reach a mutually acceptable agreement on the decision within thirty (30) days. In this case, those making the request shall start the process of the appeal within ten (10) days.

If an appeal is launched, a vote of the NCUC membership on the appeal will be scheduled no later than sixty (60) days after the appeal is made, unless there is a general election scheduled no more than ninety (90) days from the day when the appeal process started. In this case, the voting can take place at the next general election.

3. Approval of the appeal

For the appeal to succeed, sixty percent (60%) of all active NCUC members must approve of the appeal in a full membership vote as defined in Section VI. If the appeal is approved, the NCUC EC must reverse the challenged decision within seven days of the vote. If the reversal decision requires any execution, the NCUC EC shall take all the necessary efforts to execute the reversal within seven (7) days.

4. Execution of the challenged decision

A decision that is challenged under procedures described in this section shall not be executed until the review or appeal process is finalized unless the circumstances require immediate execution of the decision.

H. The Vice Chair

  1. A member of the EC may be designated as Vice Chair by a majority vote of the EC.
  2. The Vice Chair will take over the duties of the Chair when:

a. The Chair delegates those responsibilities to him or her for a temporary period.

b. The Chair is incapacitated or unaccountably absent for thirty (30) days or more.

c. The Chair resigns before the term is finished.

Replaces the Secretary-Treasurer role
I. The Treasurer

  1. The EC shall elect a Treasurer to assist in the management of the Constituency. The Treasurer will be nominated to the EC by the Chair, with notification to the membership, and must be approved by a majority vote of the EC with at least three members voting. If three EC members fail to vote within two weeks of the nomination, the Chair shall appoint the Treasurer.
  2. The Treasurer shall be responsible for depositing any contributions, managing the Constituency bookkeeping and accounting, and regularly reporting to the EC regarding finances and accounts.
  3. If the Treasurer is not an EC member, he or she shall be a nonvoting member of the EC, and shall be expected to participate in all EC meetings.
New section!
V.  The Policy Committee V.  The Policy Committee
A. The Constituency shall have a Policy Committee (PC) which shall be responsible for determining and representing the positions of the Constituency on matters of domain name and ICANN policy and procedure to the Generic Names Supporting Organization of ICANN (the GNSO), the GNSO Council, and other ICANN policy committees, working groups, advisory committees, and policy forums. A. The Constituency shall have a Policy Committee (PC). The PC shall have a Chair and a Vice Chair. The Chair of the Policy Committee shall be responsible for facilitating the formulation of Constituency positions on public comment requests, on matters of domain name policy and on ICANN corporate governance, and providing them in a timely manner to the Generic Names Supporting Organization (GNSO) of ICANN, the GNSO Council, and any other ICANN committees and working groups.
B. The Policy Committee shall be co-chaired by the Constituency Representatives to the GNSO Council.

GNSO Council Representatives:

1. Shall be elected for two-year terms by the voting Members of the Constituency; however, to preserve continuity on the Council, the NCSG may determine which terms shall terminate in an even- or odd-numbered year.

2. Shall be selected to ensure that the geographic diversity requirements specified by the NCSG are achieved,

3. Shall not be on the Executive Committee

4. May not be from the same organization or different chapters of the same organization, and

5. Shall serve no more than two consecutive terms subject to the provisions of ICANN Bylaws, Article X, Section 3.

B. The Chair and the Vice Chair of the Policy Committee shall be appointed by the EC and the Chair shall also serve on the NCSG Policy Committee. The PC shall include the NCUC Chair, any elected NCUC GNSO Council Representatives who are also NCUC members, and any active NCUC member, such as a member serving in a PDP working group who volunteers to serve in the Policy Committee upon review of the NCUC EC. The Policy Committee shall not exceed ten (10) members in size.
C. The Policy Committee Co-Chairs shall

1. Attend and/or participate by telephone in GNSO Council Meetings, and participate in the online GNSO Council Discussions,

2.            To the extent the GNSO Council permits proxy votes, assign their vote by proxy to the other Constituency GNSO Council Representative for all calls and meetings for which he/she cannot be present, with or without specific voting instructions. If any Constituency Council Representative cannot attend the meeting, the Representative may assign his/her proxy with specific voting instructions to another Council member.

3. As appropriate, volunteer to chair and/or serve on GNSO Council committees, task forces and other groups that are developing domain name policies of interest and concern to the Constituency.

4. As appropriate, work with Constituency Members to find appropriate and expert members of the Constituency and Noncommercial Community to serve on policy development activities initiated by ICANN’s Board, President, or staff, and GNSO Council committees, working groups and other groups open to constituency participation.

5. Consult with the Constituency to develop policy positions. The Policy Committee may also start a working group and policy process at the request of a bone-fide member and with the agreement of the EC.

C. The Executive Committee appoints the NCUC members of the Policy Committee.
D. The Policy Committee Co-Chairs shall also work with the Chairman to help inform the Constituency, via listservs, announcement list, website and other appropriate communication media of:

1. Comment periods open to the public and of general interest to Constituency members.

2. Comment periods open to the public on significant interest to Constituency members and in which Member comments might play a role in influencing policy and protecting noncommercial interests.

3. Positions developed by the Policy Committee of the Constituency.

4. Issues that are being or have been recently considered by the GNSO Council, and the positions taken by Constituency representatives on those issues. The Policy Committee shall send a report to the Constituency discuss list at least once every two months. The report should be prepared by both Policy Committee Co-chairs and can reflect points of agreement and disagreement; if one Policy Committee Co-chair fails to participate in a timely fashion the other Co-chair is authorized to prepare and send the report, but every effort should be made to represent the views of both Co- chairs in a fair and objective manner.

D.    If a PC member appointed by the Executive Committee as a volunteer fails to perform his or her duties, the Executive Committee can take a decision to remove the member and perform a re-appointment. Before the removal decision is taken, the Executive Committee must notify the person in question under the same procedure as outlined in section IV.E.6.
E. Additionally, other individuals shall be invited to serve on the Constituency Policy Committee, including:

1. Members (or their Official Representatives) who are serving on GNSO Working Groups, ICANN Advisory Committees, Presidential committees and other policy bodies (standing or ad hoc) within the ICANN process; and

2. The Constituency Representative to PIR (.ORG).

3. Any NCUC delegates to the NCSG Executive Committee (in an ex officio capacity).

E.         The Policy Committee Chair shall:

  1. Attend and/or participate remotely in NCSG Policy Committee Meetings.
  2. Organize regular meetings of the Committee at face-to-face ICANN meetings and through teleconference.
  3. Work with Constituency Members to find appropriate and expert members of the broader noncommercial community to serve in policy development activities initiated by ICANN’s Board, President, or staff; GNSO Council committees or working groups; and any other groups open to Constituency participation.
  4. Consult with the Constituency to develop policy positions. The Policy Committee may also start an NCUC working group and policy process on its own initiative or at the request of a bona fide member. The initiation of such working groups and policy processes should be done with the agreement of the EC.
F.         The Policy Committee Chair shall also work with the NCUC Chair to help inform the Constituency, via mailing lists, the announcement list, the website, and other appropriate communication media regarding:

  1. Comment periods open to the public and of general interest to Constituency members;
  2. Comment periods open to the public on matters of significant interest to Constituency members and in which member comments might play a role in influencing policy and protecting noncommercial interests;
  3. Positions developed by the NCUC Policy Committee; and
  4. Issues that are being or have been recently considered by the GNSO Council, and the positions taken by Constituency representatives on those issues.
G.     Additionally, other individuals shall be invited to participate in the deliberations of the NCUC Policy Committee, including:

  1. Members (or their Official Representatives) who are serving on GNSO Working Groups, ICANN Advisory Committees, presidential committees, and other policy bodies (standing or ad hoc) within ICANN; and
  2. Any NCUC delegates to the NCSG Policy Committee (in an ex officio capacity).
VI. Voting VI. Voting
A. The Chairman shall be responsible for ballots, agendas, and meeting schedules.

1. Announcements to the Constituency regarding in-person meetings shall be distributed within 45 days of the meetings.

2. Announcement to the Constituency regarding elections shall take place within 45 days of their commencement.

3. Agendas shall be published within 14 days of the meeting.

4. Calls shall be announced within 7 days of their scheduled time. Voting Members

A. The Chair shall be responsible for ballots, agendas, and meeting schedules. If the Chair is a candidate in the election, then the Executive Committee may appoint, if deemed necessary, a replacement in charge of ballots, agendas, and meeting schedules from among members of the Executive Committee.

  1. Announcement to the Constituency regarding elections shall take place at least thirty (30) days prior to their commencement.
  2. The Chair shall submit the nomination, campaigning, and election schedule, as well as the ballot to be used in the election, to the EC for review and approval.
B. Voting Members

1. The Chair shall publish on the web site a list of the Official representatives of each Member Organization in good standing 30 days prior to the election.

2. Representatives may review the voting lists

3. The following individuals are ineligible to serve as the Official Representative of their organization (for the purposes of voting):

i.  An individual who holds the power to vote in another constituency or on the ICANN Board.

ii. An individual who holds any form of permanent or temporary paid position with ICANN, including independent contractors who have served ICANN in paid positions within the last six months. If such an individual is identified on the voting lists of the Constituency, then the Chair shall provide notice to the Member organization requesting a substitute official Representative. If such a substitute is not provided within 7 days of the election, the Member Organization will not be eligible to receive a ballot in that election.

Large and small organizations

1. To foster full and fair representation of the both large and small organizations, as well as independent national chapters, the Constituency shall allow:

2. Members in good standing with a current membership under 1000 people, or under 200 employees, shall be called “Small Organizations and shall have one vote.

3. Members in good standing and with a current membership of 1000 or more people or employment of 200 or more employees shall have two votes. Such members shall be called “Large Organizations” and be assessed a higher dues fee by the Executive Committee.

4. Organizations that qualify as Large Organizations but do not wish to pay the higher dues may join as Small Organizations and have one vote.

Electing Representatives From Different Regions and Different Organizations

1. Where an election requires election of people from different regions and different organizations, the voting principle to determine election are as follows:

a. The person with the most votes wins.

b. The person with the second highest number of votes – from a different geographic region and different organization – wins the second slot.

c. The person with the third highest number of votes – from a different geographic region and different organization from any of the other elected individuals – takes the next slot, and so on, until all open slots are filled.

d. For the purposes of election, different chapters of the same organization, regardless of their voting status, are considered the same organization.

E. The Executive Committee shall, as needed, determine further procedures for nomination and voting. Such procedures shall be provided to the Constituency on the website.

F.  Votes of member organizations shall be kept confidential. The EC may appoint a trusted Constituency member who is not a candidate, or an impartial nonmember ICANN or GNSO officer to audit the votes.

G. Individual persons (“Individual Members”) that are Members in Good Standing of the Constituency are entitled to have one vote.

B. Voting Members

  1. The Chair shall publish on the website a list of the Official Representatives of each active Member Organization and a list of active, eligible individual members thirty (30) days prior to the election.
  2. Members (individual members and organizational members’ representatives) may review the voting lists.
  3. The following individuals are ineligible to serve as the Official Representative of their organization (for the purposes of voting):
    1. An individual who holds the power to vote in another constituency, stakeholder group, or on the ICANN Board, except those in the NCSG.
    2. An individual who holds any form of permanent or temporary paid position with ICANN, including independent contractors who have served ICANN in paid positions within the last six months. If such an individual is identified on the voting lists of the Constituency, then the Chair shall provide notice to the Member Organization requesting a substitute Official Representative. If such a substitute is not provided at least seven (7) days prior to the election, the Member Organization will not be eligible to receive a ballot in that election.
  4. The check-in process: Before each annual election, the NCUC Chair shall send an email to all members, active or suspended, asking them to update their contact information before the election. If the NCSG has conducted the check-in prior to the NCUC elections, the process should not be repeated; those who are listed as inactive by the NCSG will be recognized as inactive by the NCUC. If the check-in takes place by the NCUC and no response is received by the requested deadline, an attempt will be made to reach the member by other means, e.g., telephone calls or requests through other contacts. If, after reasonable attempts fail to reach a member or its representative and confirmation of contact information cannot be completed, that member will be moved to an inactive members’ list and an announcement will be made on the public discussion list. Once on the inactive members’ list, the inactive member will not be included in the membership count required to establish election results. An inactive member can be removed from the inactive members’ list by updating its contact information. An inactive member can remain on the inactive list indefinitely.
  5. Members who respond to the NCUC check-in process are deemed as active members.
C. Voting WeightsTo foster full and fair representation of both large and small organizations, as well as independent national chapters, the Constituency shall consider:

  1. Active organizations that have more than fifty (50) employees, or are membership organizations with more than five hundred (500) individual members, shall be classified as “large organizations” and shall have four votes.
  2. Organizations that are composed of ten (10) or more organizational members that qualify as “large” shall be classified as “large organizations” and shall have four votes.
  3. Organizations that do not qualify as large organizations and have more than one member shall be classified as “small organizations” and shall have two votes.
  4. Active eligible individual persons who are members shall have one vote.
D. The Executive Committee shall, as needed, determine further procedures for nomination and voting. Such procedures shall be provided to the Constituency on the website.
E. The votes of members shall be kept confidential. The EC may appoint a trusted Constituency member who is not a candidate, or an impartial nonmember ICANN or GNSO officer to audit the votes.
VII.  Leaving Office VII.  Leaving Office
A. An elected representative of the Executive Committee or Policy Committee may submit an email or notice of resignation to the Chair whenever circumstances call for such an action. A. An elected officer or appointed committee member of the NCUC may submit an email or notice of resignation to the Chair whenever circumstances call for such an action.
B. In the event of resignation of the Chair, the Executive Committee shall within two weeks elect one of its members to serve as interim Chair. If the remaining term of the resigning Chair is greater than six (6) months, a new election shall be organized. B. In the event of the resignation of the Chair, the Vice Chair shall finish the term of the original Chair.
C. An elected representative of the Executive Committee is deemed to resign his/her position when the said officer fails to vote in time in four (4) consecutive EC votes; C. Elected or appointed officers and representatives of the Constituency can be removed for nonparticipation according to operating rules as defined by the EC.
D. An elected GNSO Council Representative is deemed to resign his/her position when the said representative does not attend and fails to proxy his/her vote to the other Council for three (3) consecutive meetings (in person or by phone) D. When members of the EC or any other NCUC committee are deemed to resign due to nonparticipation as per Section C above, the Chair, after consulting with members, may appoint a temporary replacement to finish the remaining term of the resigning EC representative.
E. When EC members or Council Representatives are deemed to resign due to nonparticipation as per sections C and D above, the Chair may appoint a temporary replacement provided that NCSG regional geographic diversity requirements are maintained. If the remaining term of the resigning EC representative(s) is greater than six (6) months, a new election shall be organized. E. The standards for performing the duties for NCUC leadership positions include impartiality, accountability, and avoidance of conflicts of interest. NCUC officers are expected to be fair and responsible stewards of the NCUC’s activities. The Chair in particular is expected to look after the general interests of the NCUC and to be responsive to all members and officers in their requests for information. Term limits and regular elections, as well as removal procedures for corrupt officers or officers who fail to perform their responsibilities, are intended to keep officers accountable and responsive. The NCUC Executive Committee shall draft detailed procedural rules for removal of officers within six (6) months of the approval of the Bylaws by the Board.
VIII. NCUC Participation in ICANN Empowered Community This is a completely new chapter
  1. Any Member of the Constituency may request materials included per section 22.7 of the ICANN Bylaws, Inspection of ICANN’s accounting books and records, by making such a request to any member of the Executive Committee. Such request shall include, minimally:

1. The name and contact information of the requestor;

2. Specific information for which access is requested; and

3. Confirmation that such request is for a purpose permitted per section 22.7 (a) of the ICANN Bylaws.

The Executive Committee shall act on any such request within thirty (30) days of its transmittal to the entire Executive Committee. If approved by a majority vote of the Executive Committee, the Chair shall without delay submit the request to the GNSO Representative to the Empowered Community requesting that the request be submitted to the Secretary of ICANN for action. If the Executive Committee declines to approve such a request, a reason for said action must be provided to the Member at the time that the Member’s request is rejected.

B. Requests for reconsideration, per section 4.2 of the ICANN Bylaws, may be initiated by a majority vote of either the Executive Committee or of the Policy Committee. Upon being notified of such a vote by either Committee, the Executive Committee Chair shall take appropriate action to file such request directly with the Board Governance Committee or,  if so requested by the initiating Committee, to follow any and all procedures established by the GNSO that would cause said request to be filed as a Community Reconsideration Request, per Annex D, section 4.3, of the ICANN Bylaws.
C. The Executive Committee, by majority vote, may initiate a petition to commence proceedings under the Independent Review Process, per section 4.3 of the ICANN Bylaws. This shall include approval by majority vote of the Executive Committee for participation in any and all conditions precedent for participating in an Independent Review Process (IRP) proceeding, including the petitioning for commencement of a Cooperative Engagement Process (CEP) action. Upon notification of an Executive Committee vote initiating action related to or for a direct petition for an Independent Review Process proceeding, the Chair shall: (1) File said petition directly with the IRP provider, and/or (2) Take any action necessary and as directed by the Executive Committee, including filing for a Cooperative Engagement Process proceeding or engaging representation for the Constituency, to commence the IRP action. If the Executive Committee intends its petition to be a Community Independent Review Process action, per Annex D, section 4.2 of the ICANN Bylaws, it shall indicate this when approving the petition. Upon such action, the Chair shall follow any and all procedures established by the GNSO that would cause said IRP petition to be filed as such. In such instance, the Chair shall coordinate all Constituency participation in the required Mediation process, per section 4.7 of the ICANN Bylaws, and any subsequent processes related to the IRP requiring Constituency representation.
D. Except as otherwise provided in these Bylaws, the Executive Committee shall be the representative voice for the NCUC for all matters involving the ICANN Empowered Community (Article 6 of ICANN’s Bylaws). Decisions on matters involving the Empowered Community shall be by majority vote of the Executive Committee. The Chair shall act as the NCUC representative to any forum or committees that result from the NCUC’s role in the Empowered Community, unless otherwise provided for by the Executive Committee by majority vote.
VIII.  Changes to this Charter IX.  Changes to These Bylaws
A. Changes to this charter may take place by vote of the Members. Changes may be proposed by the Executive Committee or by petition of the Members. A petition of ten (10) percent of the then-current members shall be sufficient for putting a charter amendment on the ballot for consideration at the next regular election. Alternatively, the Executive Committee by majority vote may propose an amendment for consideration at the next regular election. A.         Changes to these bylaws may take place by vote of the Members. Changes may be proposed by the Executive Committee or by petition of the Members. A petition of five (5) percent of the then-current active members shall be sufficient for putting a bylaws amendment on the ballot for consideration at the next regular election. Alternatively, the Executive Committee by majority vote may propose an amendment for consideration during the next regular election.
B. Charter amendments shall be passed if at least two thirds of the votes cast in the election favor its adoption (provided 40% or more of the eligible Voters cast a ballot in the election). B.         Charter amendments shall be passed if at least two-thirds of the votes cast in the election favor its adoption (provided 40% or more of the eligible individuals and organizational members cast a ballot in the election).
C. In the event that more than three chapters of the same organization in the same country join the constituency, and it appears to the Chair and/or EC that there is an organized effort by one group to control or dominate the Constituency, then the charter may be amended temporarily by a majority vote of the EC to limit, in a nondiscriminatory manner, the membership eligibility of chapters of the same organization. The amendment must be submitted to the membership for a vote at the next regularly scheduled annual election. Unlike other charter amendments, this one can pass with only a majority of those voting.
IX. Communications X. Communications
A. The Constituency shall maintain three email lists: a discussion list, an announce list, and an EC list. Only Official Representatives of Members shall be put on the announce list, and the announce list shall be used for voting purposes. Only Official Representatives and Additional Representatives of Member organizations shall have posting rights on the discuss list; participation on the discuss list shall be voluntary. The EC list is for official communications and deliberations among the Executive Committee. A.         The Constituency shall maintain various mailing lists as it deems necessary. The four (4) main mailing lists to maintain are:

  1. An email discussion list;
  2. The official voting list;
  3. An Executive Committee email list; and
  4. A Policy Committee email list.

Only Official Representatives of Members and individual Members shall be put on the official voting list, which shall be used for voting and membership check-in purposes. Only Members shall have posting rights on the discussion list; participation in the discussion list shall be voluntary. The EC list is for official communications and deliberations among members of the Executive Committee. Posting to the EC list is restricted to EC members. The Policy Committee email list is open to official Policy Committee members and observers.

B. Archives of the discussion list should be available to the general public and accessible from the Constituency website. The EC list shall also be publicly archived. B.         Archives of all NCUC-managed lists should be available to the general public and accessible from the Constituency website. The EC list shall also be publicly archived.
C. The Chair will oversee the publication of membership lists on the Constituency website. The Executive Committee, in its sole discretion, may decide whether such lists are available to the public or only to Members of the Constituency. C.         The Chair will oversee the publication of membership lists on the Constituency website. The NCUC is required to publish the list of current Members of the Constituency.
D. Only Official Representatives listed on the Constituency website membership list will receive ballots and be allowed to vote in elections. Changes to such designated Official Representatives must be received by the Chair at least one week (7 days) prior to the distribution of ballots, and must conform to the voting requirements of the charter. D. The ballots for individual members will be sent to the members’ email addresses listed on their membership application.
E. The web site should provide a channel for nonmembers to make comments to the members and officers of the constituency. E.         For organizational members, only Official Representatives listed on the Constituency website membership list will receive ballots and be allowed to vote in elections. Changes to such designated Official Representatives must be received by the Chair at least one week (7 days) prior to the distribution of ballots, and must conform to the voting requirements of the charter.
F.         The Chair and EC should provide a channel for nonmembers to make comments to the members and officers of the Constituency.
X. Dues XI. Dues
A. On an annual basis, the Chair will consult with the Executive Committee regarding the appropriate level for dues. Such dues will be set for large and small organizations by a 2/3 vote of the Executive Committee, together with appropriate procedures for waiver and reduction requests. The Chair shall be authorized to hear the waiver and reduction requests and made decisions. Appeals may be made to the Executive Committee may consider the waiver of dues. A.         Currently, membership dues are set at 0 US dollars for all membership categories. Dues are set by a two-thirds majority vote of the Executive Committee. On an annual basis, the Chair will consult with the Executive Committee regarding the appropriate level for dues. Such dues will be set for individuals and large and small organizations by a two-thirds vote of the Executive Committee, together with appropriate procedures for waiver and reduction requests. The Chair shall be authorized to hear the waiver and reduction requests as well as make decisions. Appeals may be made to the Executive Committee, which may consider the waiver of dues.
B. New members shall be asked to pay two years of dues upon their joining the Constituency, to reduce administrative costs. As a bootstrap, initial dues for a two-year membership period shall be set at US$50 for small organizations and US$ 100 for large organizations. This provision can be superseded by majority vote of the EC as per section A above. Altering membership dues does not constitute a charter revision as per Section VIII. B.        Altering membership dues does not constitute a charter revision as per Section IX.
C. Members that fail to pay dues and whose dues have not been waived by the EC will not be eligible to vote, nor have a Representative run for election to any office. C.         If dues exist, Members that fail to pay dues and whose dues have not been waived by the EC will not be eligible to vote, nor be able to run for election to any office within the NCUC.
D. Member organizations in countries with GDP per capita below US$10,000 are eligible to apply to the EC for a waiver or reduction of the membership fee. Such applications must contain information about the budget of the organization. D.         Member organizations in countries with gross domestic product (GDP) per capita below 10,000 US dollars are eligible to apply to the EC for a waiver or reduction of the membership fee. The EC will manage the details of the application process, which may require information about the organization applying (such as budgetary information).
E. Individual members can request a fee waiver under certain circumstances. The EC will define these circumstances and implement the procedure for a fee waiver.
XI. Transparency XII. Transparency
A. Where appropriate, feasible and not contrary to the best interests of the Constituency and its Members, the Constituency will strive to make its activities open to the public. A.         Where feasible and not contrary to the best interests of the Constituency and its Members, the Constituency will strive to make its activities open to the public.
B. The Constituency will also strive to open its in-person meetings to the public. However, in its sole discretion, the Executive Committee may choose by prior plan to close one or more parts of a Constituency meeting to public participation and observation if such involvement is inappropriate, not feasible or contrary to the best interests of the Constituency. B.         The Constituency will also strive to open its in-person meetings to the public. At its sole discretion, however, the Executive Committee may choose, by prior plan, to close one or more parts of a Constituency meeting to public participation and observation if such involvement is not feasible or contrary to the best interests of the Constituency. The rationale behind the decision should be made public, shared with the membership, and documented.
C. The Chair may, its sole discretion, suspend any nonmember’s access to NCUC Constituency meetings and deliberations for portions of, or for the entire duration of meetings and deliberations, if he/she feels that the presence is inappropriate, not feasible or contrary to the best interests of the Constituency. Any such action against a particular individual will be noted in the minutes or official record of the meeting or deliberations. C.         The Chair may, at his or her sole discretion, suspend any non-member’s access to NCUC Constituency meetings and deliberations for portions of, or for the entire duration of, meetings and deliberations if he/she feels that the presence is inappropriate, not feasible, or contrary to the best interests of the Constituency. Any such action against a particular individual will be noted in the minutes or official record of the meeting or deliberations.
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.5.5";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 75vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_TARGET="main",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com","https://syndicatedsearch.goog","https://googleadservices.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC=`https://www.google.com/adsense/domains/caf.js?${GOOGLE_MV3_URL_PARAMS}`,TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM="caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return new URLSearchParams(window.location.search).has(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class App{main(){var e,t;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i,n));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s,n));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s,n));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i,n):yield this.transitionToParking(n)}}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`➡ Redirecting [${e.url}]`)}))}transitionToFailed(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return this.adblock.state!==Blocking.BLOCKED&&(!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason))))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));