7MJ|stJ|g8C UUBJ|ض|O|pJ|J|J|J|5qO|J|7MJ|stJ|'J|D UU@J|ض|O|&J|пJ|@~O|J|J|5qO| ~O|7MJ|stJ|o8E UUBJ|ض|O|pJ|J|J|J|5qO|J|7MJ|stJ|'J|F UU@PJ|stJ| J|tJ|8 qJ| jJ|jJ|`sJ| `!qJ|7MJ|stJ|w8G UUBJ|ض|O|pJ|J|J|J|5qO|J|7MJ|stJ|'J|H UU@J|stJ|J| tJ|(HuJ|0jJ|(jJ|`sJ|IuJ|7MJ|stJ|8I UUBJ|ض|O|pJ|J|J|J|5qO|J|7MJ|stJ|'J|J UU@J|stJ|J|HtJ|( @usJ|@jJ|8jJ|`sJ|`vsJ|7MJ|stJ|8K UUBJ|ض|O|pJ|J|J|J|5qO|J|7MJ|stJ|'J|L UU@J|stJ|`pO|ptJ|@'lJ|aJ|HjJ|0WkJ|`sJ| @)lJ|7MJ|stJ|8M UUBJ|ض|O|pJ|s_node( WP_HTML_Token $token ): bool { foreach ( $this->walk_up() as $item ) { if ( $token === $item ) { return true; } } return false; } /** * Returns how many nodes are currently in the stack of open elements. * * @since 6.4.0 * * @return int How many node are in the stack of open elements. */ public function count(): int { return count( $this->stack ); } /** * Returns the node at the end of the stack of open elements, * if one exists. If the stack is empty, returns null. * * @since 6.4.0 * * @return WP_HTML_Token|null Last node in the stack of open elements, if one exists, otherwise null. */ public function current_node(): ?WP_HTML_Token { $current_node = end( $this->stack ); return $current_node ? $current_node : null; } /** * Indicates if the current node is of a given type or name. * * It's possible to pass either a node type or a node name to this function. * In the case there is no current element it will always return `false`. * * Example: * * // Is the current node a text node? * $stack->current_node_is( '#text' ); * * // Is the current node a DIV element? * $stack->current_node_is( 'DIV' ); * * // Is the current node any element/tag? * $stack->current_node_is( '#tag' ); * * @see WP_HTML_Tag_Processor::get_token_type * @see WP_HTML_Tag_Processor::get_token_name * * @since 6.7.0 * * @access private * * @param string $identity Check if the current node has this name or type (depending on what is provided). * @return bool Whether there is a current element that matches the given identity, whether a token name or type. */ public function current_node_is( string $identity ): bool { $current_node = end( $this->stack ); if ( false === $current_node ) { return false; } $current_node_name = $current_node->node_name; return ( $current_node_name === $identity || ( '#doctype' === $identity && 'html' === $current_node_name ) || ( '#tag' === $identity && ctype_upper( $current_node_name ) ) ); } /** * Returns whether an element is in a specific scope. * * @since 6.4.0 * * @see https://html.spec.whatwg.org/#has-an-element-in-the-specific-scope * * @param string $tag_name Name of tag check. * @param string[] $termination_list List of elements that terminate the search. * @return bool Whether the element was found in a specific scope. */ public function has_element_in_specific_scope( string $tag_name, $termination_list ): bool { foreach ( $this->walk_up() as $node ) { $namespaced_name = 'html' === $node->namespace ? $node->node_name : "{$node->namespace} {$node->node_name}"; if ( $namespaced_name === $tag_name ) { return true; } if ( '(internal: H1 through H6 - do not use)' === $tag_name && in_array( $namespaced_name, array( 'H1', 'H2', 'H3', 'H4', 'H5', 'H6' ), true ) ) { return true; } if ( in_array( $namespaced_name, $termination_list, true ) ) { return false; } } return false; } /** * Returns whether a particular element is in scope. * * > The stack of open elements is said to have a particular element in * > scope when it has that element in the specific scope consisting of * > the following element types: * > * > - applet * > - caption * > - html * > - table * > - td * > - th * > - marquee * > - object * > - template * > - MathML mi * > - MathML mo * > - MathML mn * > - MathML ms * > - MathML mtext * > - MathML annotation-xml * > - SVG foreignObject * > - SVG desc * > - SVG title * * @since 6.4.0 * @since 6.7.0 Full support. * * @see https://html.spec.whatwg.org/#has-an-element-in-scope * * @param string $tag_name Name of tag to check. * @return bool Whether given element is in scope. */ public function has_element_in_scope( string $tag_name ): bool { return $this->has_element_in_specific_scope( $tag_name, array( 'APPLET', 'CAPTION', 'HTML', 'TABLE', 'TD', 'TH', 'MARQUEE', 'OBJECT', 'TEMPLATE', 'math MI', 'math MO', 'math MN', 'math MS', 'math MTEXT', 'math ANNOTATION-XML', 'svg FOREIGNOBJECT', 'svg DESC', 'svg TITLE', ) ); } /** * Returns whether a particular element is in list item scope. * * > The stack of open elements is said to have a particular element * > in list item scope when it has that element in the specific scope * > consisting of the following element types: * > * > - All the element types listed above for the has an element in scope algorithm. * > - ol in the HTML namespace * > - ul in the HTML namespace * * @since 6.4.0 * @since 6.5.0 Implemented: no longer throws on every invocation. * @since 6.7.0 Supports all required HTML elements. * * @see https://html.spec.whatwg.org/#has-an-element-in-list-item-scope * * @param string $tag_name Name of tag to check. * @return bool Whether given element is in scope. */ public function has_element_in_list_item_scope( string $tag_name ): bool { return $this->has_element_in_specific_scope( $tag_name, array( 'APPLET', 'BUTTON', 'CAPTION', 'HTML', 'TABLE', 'TD', 'TH', 'MARQUEE', 'OBJECT', 'OL', 'TEMPLATE', 'UL', 'math MI', 'math MO', 'math MN', 'math MS', 'math MTEXT', 'math ANNOTATION-XML', 'svg FOREIGNOBJECT', 'svg DESC', 'svg TITLE', ) ); } /** * Returns whether a particular element is in button scope. * * > The stack of open elements is said to have a particular element * > in button scope when it has that element in the specific scope * > consisting of the following element types: * > * > - All the element types listed above for the has an element in scope algorithm. * > - button in the HTML namespace * * @since 6.4.0 * @since 6.7.0 Supports all required HTML elements. * * @see https://html.spec.whatwg.org/#has-an-element-in-button-scope * * @param string $tag_name Name of tag to check. * @return bool Whether given element is in scope. */ public function has_element_in_button_scope( string $tag_name ): bool { return $this->has_element_in_specific_scope( $tag_name, array( 'APPLET', 'BUTTON', 'CAPTION', 'HTML', 'TABLE', 'TD', 'TH', 'MARQUEE', 'OBJECT', 'TEMPLATE', 'math MI', 'math MO', 'math MN', 'math MS', 'math MTEXT', 'math ANNOTATION-XML', 'svg FOREIGNOBJECT', 'svg DESC', 'svg TITLE', ) ); } /** * Returns whether a particular element is in table scope. * * > The stack of open elements is said to have a particular element * > in table scope when it has that element in the specific scope * > consisting of the following element types: * > * > - html in the HTML namespace * > - table in the HTML namespace * > - template in the HTML namespace * * @since 6.4.0 * @since 6.7.0 Full implementation. * * @see https://html.spec.whatwg.org/#has-an-element-in-table-scope * * @param string $tag_name Name of tag to check. * @return bool Whether given element is in scope. */ public function has_element_in_table_scope( string $tag_name ): bool { return $this->has_element_in_specific_scope( $tag_name, array( 'HTML', 'TABLE', 'TEMPLATE', ) ); } /** * Returns whether a particular element is in select scope. * * This test differs from the others like it, in that its rules are inverted. * Instead of arriving at a match when one of any tag in a termination group * is reached, this one terminates if any other tag is reached. * * > The stack of open elements is said to have a particular element in select scope when it has * > that element in the specific scope consisting of all element types except the following: * > - optgroup in the HTML namespace * > - option in the HTML namespace * * @since 6.4.0 Stub implementation (throws). * @since 6.7.0 Full implementation. * * @see https://html.spec.whatwg.org/#has-an-element-in-select-scope * * @param string $tag_name Name of tag to check. * @return bool Whether the given element is in SELECT scope. */ public function has_element_in_select_scope( string $tag_name ): bool { foreach ( $this->walk_up() as $node ) { if ( $node->node_name === $tag_name ) { return true; } if ( 'OPTION' !== $node->node_name && 'OPTGROUP' !== $node->node_name ) { return false; } } return false; } /** * Returns whether a P is in BUTTON scope. * * @since 6.4.0 * * @see https://html.spec.whatwg.org/#has-an-element-in-button-scope * * @return bool Whether a P is in BUTTON scope. */ public function has_p_in_button_scope(): bool { return $this->has_p_in_button_scope; } /** * Pops a node off of the stack of open elements. * * @since 6.4.0 * * @see https://html.spec.whatwg.org/#stack-of-open-elements * * @return bool Whether a node was popped off of the stack. */ public function pop(): bool { $item = array_pop( $this->stack ); if ( null === $item ) { return false; } $this->after_element_pop( $item ); return true; } /** * Pops nodes off of the stack of open elements until an HTML tag with the given name has been popped. * * @since 6.4.0 * * @see WP_HTML_Open_Elements::pop * * @param string $html_tag_name Name of tag that needs to be popped off of the stack of open elements. * @return bool Whether a tag of the given name was found and popped off of the stack of open elements. */ public function pop_until( string $html_tag_name ): bool { foreach ( $this->walk_up() as $item ) { $this->pop(); if ( 'html' !== $item->namespace ) { continue; } if ( '(internal: H1 through H6 - do not use)' === $html_tag_name && in_array( $item->node_name, array( 'H1', 'H2', 'H3', 'H4', 'H5', 'H6' ), true ) ) { return true; } if ( $html_tag_name === $item->node_name ) { return true; } } return false; } /** * Pushes a node onto the stack of open elements. * * @since 6.4.0 * * @see https://html.spec.whatwg.org/#stack-of-open-elements * * @param WP_HTML_Token $stack_item Item to add onto stack. */ public function push( WP_HTML_Token $stack_item ): void { $this->stack[] = $stack_item; $this->after_element_push( $stack_item ); } /** * Removes a specific node from the stack of open elements. * * @since 6.4.0 * * @param WP_HTML_Token $token The node to remove from the stack of open elements. * @return bool Whether the node was found and removed from the stack of open elements. */ public function remove_node( WP_HTML_Token $token ): bool { foreach ( $this->walk_up() as $position_from_end => $item ) { if ( $token->bookmark_name !== $item->bookmark_name ) { continue; } $position_from_start = $this->count() - $position_from_end - 1; array_splice( $this->stack, $position_from_start, 1 ); $this->after_element_pop( $item ); return true; } return false; } /** * Steps through the stack of open elements, starting with the top element * (added first) and walking downwards to the one added last. * * This generator function is designed to be used inside a "foreach" loop. * * Example: * * $html = 'We are here'; * foreach ( $stack->walk_down() as $node ) { * echo "{$node->node_name} -> "; * } * > EM -> STRONG -> A -> * * To start with the most-recently added element and walk towards the top, * see WP_HTML_Open_Elements::walk_up(). * * @since 6.4.0 */ public function walk_down() { $count = count( $this->stack ); for ( $i = 0; $i < $count; $i++ ) { yield $this->stack[ $i ]; } } /** * Steps through the stack of open elements, starting with the bottom element * (added last) and walking upwards to the one added first. * * This generator function is designed to be used inside a "foreach" loop. * * Example: * * $html = 'We are here'; * foreach ( $stack->walk_up() as $node ) { * echo "{$node->node_name} -> "; * } * > A -> STRONG -> EM -> * * To start with the first added element and walk towards the bottom, * see WP_HTML_Open_Elements::walk_down(). * * @since 6.4.0 * @since 6.5.0 Accepts $above_this_node to start traversal above a given node, if it exists. * * @param WP_HTML_Token|null $above_this_node Optional. Start traversing above this node, * if provided and if the node exists. */ public function walk_up( ?WP_HTML_Token $above_this_node = null ) { $has_found_node = null === $above_this_node; for ( $i = count( $this->stack ) - 1; $i >= 0; $i-- ) { $node = $this->stack[ $i ]; if ( ! $has_found_node ) { $has_found_node = $node === $above_this_node; continue; } yield $node; } } /* * Internal helpers. */ /** * Updates internal flags after adding an element. * * Certain conditions (such as "has_p_in_button_scope") are maintained here as * flags that are only modified when adding and removing elements. This allows * the HTML Processor to quickly check for these conditions instead of iterating * over the open stack elements upon each new tag it encounters. These flags, * however, need to be maintained as items are added and removed from the stack. * * @since 6.4.0 * * @param WP_HTML_Token $item Element that was added to the stack of open elements. */ public function after_element_push( WP_HTML_Token $item ): void { $namespaced_name = 'html' === $item->namespace ? $item->node_name : "{$item->namespace} {$item->node_name}"; /* * When adding support for new elements, expand this switch to trap * cases where the precalculated value needs to change. */ switch ( $namespaced_name ) { case 'APPLET': case 'BUTTON': case 'CAPTION': case 'HTML': case 'TABLE': case 'TD': case 'TH': case 'MARQUEE': case 'OBJECT': case 'TEMPLATE': case 'math MI': case 'math MO': case 'math MN': case 'math MS': case 'math MTEXT': case 'math ANNOTATION-XML': case 'svg FOREIGNOBJECT': case 'svg DESC': case 'svg TITLE': $this->has_p_in_button_scope = false; break; case 'P': $this->has_p_in_button_scope = true; break; } if ( null !== $this->push_handler ) { ( $this->push_handler )( $item ); } } /** * Updates internal flags after removing an element. * * Certain conditions (such as "has_p_in_button_scope") are maintained here as * flags that are only modified when adding and removing elements. This allows * the HTML Processor to quickly check for these conditions instead of iterating * over the open stack elements upon each new tag it encounters. These flags, * however, need to be maintained as items are added and removed from the stack. * * @since 6.4.0 * * @param WP_HTML_Token $item Element that was removed from the stack of open elements. */ public function after_element_pop( WP_HTML_Token $item ): void { /* * When adding support for new elements, expand this switch to trap * cases where the precalculated value needs to change. */ switch ( $item->node_name ) { case 'APPLET': case 'BUTTON': case 'CAPTION': case 'HTML': case 'P': case 'TABLE': case 'TD': case 'TH': case 'MARQUEE': case 'OBJECT': case 'TEMPLATE': case 'math MI': case 'math MO': case 'math MN': case 'math MS': case 'math MTEXT': case 'math ANNOTATION-XML': case 'svg FOREIGNOBJECT': case 'svg DESC': case 'svg TITLE': $this->has_p_in_button_scope = $this->has_element_in_button_scope( 'P' ); break; } if ( null !== $this->pop_handler ) { ( $this->pop_handler )( $item ); } } /** * Clear the stack back to a table context. * * > When the steps above require the UA to clear the stack back to a table context, it means * > that the UA must, while the current node is not a table, template, or html element, pop * > elements from the stack of open elements. * * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-stack-back-to-a-table-context * * @since 6.7.0 */ public function clear_to_table_context(): void { foreach ( $this->walk_up() as $item ) { if ( 'TABLE' === $item->node_name || 'TEMPLATE' === $item->node_name || 'HTML' === $item->node_name ) { break; } $this->pop(); } } /** * Clear the stack back to a table body context. * * > When the steps above require the UA to clear the stack back to a table body context, it * > means that the UA must, while the current node is not a tbody, tfoot, thead, template, or * > html element, pop elements from the stack of open elements. * * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-stack-back-to-a-table-body-context * * @since 6.7.0 */ public function clear_to_table_body_context(): void { foreach ( $this->walk_up() as $item ) { if ( 'TBODY' === $item->node_name || 'TFOOT' === $item->node_name || 'THEAD' === $item->node_name || 'TEMPLATE' === $item->node_name || 'HTML' === $item->node_name ) { break; } $this->pop(); } } /** * Clear the stack back to a table row context. * * > When the steps above require the UA to clear the stack back to a table row context, it * > means that the UA must, while the current node is not a tr, template, or html element, pop * > elements from the stack of open elements. * * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-stack-back-to-a-table-row-context * * @since 6.7.0 */ public function clear_to_table_row_context(): void { foreach ( $this->walk_up() as $item ) { if ( 'TR' === $item->node_name || 'TEMPLATE' === $item->node_name || 'HTML' === $item->node_name ) { break; } $this->pop(); } } /** * Wakeup magic method. * * @since 6.6.0 */ public function __wakeup() { throw new \LogicException( __CLASS__ . ' should never be unserialized' ); } } BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Tierhilfe - ECPv6.15.0.1//NONSGML v1.0//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:Tierhilfe X-ORIGINAL-URL:https://www.tierhilfeweidenberg.de/en X-WR-CALDESC:Events for Tierhilfe REFRESH-INTERVAL;VALUE=DURATION:PT1H X-Robots-Tag:noindex X-PUBLISHED-TTL:PT1H BEGIN:VTIMEZONE TZID:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:20250330T010000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:20251026T010000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:20260329T010000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:20261025T010000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250216T103000 DTEND;TZID=Europe/Berlin:20250216T180000 DTSTAMP:20260204T140612 CREATED:20250104T072643Z LAST-MODIFIED:20250104T072644Z UID:4432-1739701800-1739728800@www.tierhilfeweidenberg.de SUMMARY:Lichtmessmarkt Pegnitz ❄️ DESCRIPTION:Zu Lichtmess lädt Pegnitz zum ersten Markt in 2025 ein. \n\n\n\nGerne ist die Tierhilfe Weidenberg wieder mit ihrem Verkaufsstand vor PAMPOLINA mitvertreten. \n\n\n\nWir freuen uns auf euch! URL:https://www.tierhilfeweidenberg.de/en/event/lichtmessmarkt-pegnitz-%e2%9d%84%ef%b8%8f/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250510T090000 DTEND;TZID=Europe/Berlin:20250511T180000 DTSTAMP:20260204T140612 CREATED:20250323T072125Z LAST-MODIFIED:20250323T072208Z UID:4478-1746867600-1746986400@www.tierhilfeweidenberg.de SUMMARY:Flohmarkt Bayreuth DESCRIPTION:Auf geht’s zum beliebten Flohmarkt in Bayreuth.Die Tierhilfe Weidenberg ist wieder an beiden Tagen mit am Start und erwartet euch an Stand Nr. 276. URL:https://www.tierhilfeweidenberg.de/en/event/flohmarkt-bayreuth-6/ LOCATION:Volksfestplatz\, Friedrich-Ebert-Straße\, 95448 Bayreuth END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250525T103000 DTEND;TZID=Europe/Berlin:20250525T180000 DTSTAMP:20260204T140612 CREATED:20250323T080122Z LAST-MODIFIED:20250323T080123Z UID:4487-1748169000-1748196000@www.tierhilfeweidenberg.de SUMMARY:Pegnitzer Maimarkt 🌞 DESCRIPTION:Wir laden ganz herzlich zum nächsten Jahrmarkt in Pegnitz ein.Ihr findet uns am Stand vor “Lederwaren Voit” bzw. “Pampolina”.🌷🌼🌻 URL:https://www.tierhilfeweidenberg.de/en/event/pegnitzer-maimarkt-%f0%9f%8c%9e/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250613T160000 DTEND;TZID=Europe/Berlin:20250615T210000 DTSTAMP:20260204T140612 CREATED:20250404T042337Z LAST-MODIFIED:20250404T042338Z UID:4493-1749830400-1750021200@www.tierhilfeweidenberg.de SUMMARY:Großes BENGKIDZ Sommerfest 🎉 DESCRIPTION:Ein Sommerfest für die ganze Familie 🌞🎉 – und wir dürfen dabei sein.Der wunderbare Verein BENGKIDZ e. V. https://bengkidz.de/ stellt ein fröhliches über drei Tage dauerndes Event der Spitzenklasse auf die Beine. \n\n\n\nKommt vorbei und feiert mit! \n\n\n\n\nSommerfest 2025 URL:https://www.tierhilfeweidenberg.de/en/event/grosses-bengkidz-sommerfest-%f0%9f%8e%89/ END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250629T090000 DTEND;TZID=Europe/Berlin:20250629T150000 DTSTAMP:20260204T140612 CREATED:20250515T101017Z LAST-MODIFIED:20250515T101018Z UID:4528-1751187600-1751209200@www.tierhilfeweidenberg.de SUMMARY:Pegnitzer privater Floh- und Trödelmarkt DESCRIPTION:Die Tierhilfe Weidenberg begrüßt euch wieder an ihrem Stand im ❤️-en von Pegnitz. URL:https://www.tierhilfeweidenberg.de/en/event/pegnitzer-privater-floh-und-troedelmarkt-2/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250824T103000 DTEND;TZID=Europe/Berlin:20250824T180000 DTSTAMP:20260204T140612 CREATED:20250724T184056Z LAST-MODIFIED:20250724T185128Z UID:4626-1756031400-1756058400@www.tierhilfeweidenberg.de SUMMARY:Pegnitzer Kirchweihmarkt DESCRIPTION:Ende August lädt Pegnitz traditionell zum Kirchweihmarkt ein.Wir freuen uns auf zahlreichen Besuch an unserem Stand (vor PAMPOLINA). URL:https://www.tierhilfeweidenberg.de/en/event/pegnitzer-kirchweihmarkt-2/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20250913T090000 DTEND;TZID=Europe/Berlin:20250914T180000 DTSTAMP:20260204T140612 CREATED:20250727T164656Z LAST-MODIFIED:20250727T164656Z UID:4642-1757754000-1757872800@www.tierhilfeweidenberg.de SUMMARY:Herbst-Flohmarkt Bayreuth DESCRIPTION:Die Tierhilfe Weidenberg freut sich darauf\, wieder am beliebten Flohmarkt dabei zu sein.Diesmal findet ihr uns am Stand Nr. 332. URL:https://www.tierhilfeweidenberg.de/en/event/herbst-flohmarkt-bayreuth/ END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20251025T150000 DTEND;TZID=Europe/Berlin:20251025T200000 DTSTAMP:20260204T140612 CREATED:20250919T100744Z LAST-MODIFIED:20251024T164815Z UID:4698-1761404400-1761422400@www.tierhilfeweidenberg.de SUMMARY:Geistermeile Pegnitz 🎃 👻 DESCRIPTION:Bengkidz e. V. lädt wieder zu einem Halloween-Event der besonderen Art ein. Diesmal im wunderschönen Wiesweiher Pegnitz\, der sich in eine schaurige Geistermeile verwandeln wird. \n\n\n\n\nGeistermeile in Pegnitz – Halloween für die ganze Familie!\n\n\n\n\nDie Tierhilfe Weidenberg 🐈‍⬛ ist wieder mit am Start! URL:https://www.tierhilfeweidenberg.de/en/event/geistermeile-pegnitz-%f0%9f%8e%83-%f0%9f%91%bb/ END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20251026T100000 DTEND;TZID=Europe/Berlin:20251026T180000 DTSTAMP:20260204T140612 CREATED:20250919T102720Z LAST-MODIFIED:20250919T102722Z UID:4707-1761472800-1761501600@www.tierhilfeweidenberg.de SUMMARY:Pegnitzer Herbstmarkt 🍃🍁🍂 DESCRIPTION:Ende Oktober lädt Pegnitz traditionell zum Herbstmarkt 🍂🍁🍃 ein. Ihr findet unseren Stand vor PAMPOLINA – wie üblich. URL:https://www.tierhilfeweidenberg.de/en/event/pegnitzer-herbstmarkt-%f0%9f%8d%83%f0%9f%8d%81%f0%9f%8d%82-2/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20251127T170000 DTEND;TZID=Europe/Berlin:20251221T220000 DTSTAMP:20260204T140612 CREATED:20251031T053737Z LAST-MODIFIED:20251127T181539Z UID:4836-1764262800-1766354400@www.tierhilfeweidenberg.de SUMMARY:Pegnitzer Adventsdorf 🌟 DESCRIPTION:In der Vorweihnachtszeit kann man täglich Gutes für unsere Tiere tun\, denn die Tierhilfe Weidenberg ist mit einem eigenen Stand im Adventsdorf vertreten. \n\n\n\nMo – Sa ab 17 hSo ab 14 h \n\n\n\nKommt vorbei auf einen Glühwein\, Feuerzangenbowle\, Kinderpunsch\, heiße Schokolade oder Tee.Desweiteren gibt es Mandeln\, Zuckerwatte\, Plätzchen und vieles mehr. \n\n\n\nWir freuen uns auf euch! URL:https://www.tierhilfeweidenberg.de/en/event/pegnitzer-adventsdorf-%f0%9f%8c%9f/ LOCATION:Hauptstraße 45\, 91257 Pegnitz\, Hauptstraße 45\, Pegnitz\, 91257 END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20251130T104500 DTEND;TZID=Europe/Berlin:20251130T180000 DTSTAMP:20260204T140612 CREATED:20251101T071839Z LAST-MODIFIED:20251101T071840Z UID:4852-1764499500-1764525600@www.tierhilfeweidenberg.de SUMMARY:Andreasmarkt Weidenberg 🎄 DESCRIPTION:Wir freuen uns\, euch am 1. Advent 🌟 an unserem Stand auf dem zauberhaften Andreasmarkt begrüßen zu dürfen. URL:https://www.tierhilfeweidenberg.de/en/event/andreasmarkt-weidenberg-%f0%9f%8e%84-2/ LOCATION:Rathausplatz\, 95466 Weidenberg\, Rathausplatz\, Weidenberg\, 95466\, Deutschland END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20251206T110000 DTEND;TZID=Europe/Berlin:20251206T193000 DTSTAMP:20260204T140612 CREATED:20251101T072349Z LAST-MODIFIED:20251101T072350Z UID:4855-1765018800-1765049400@www.tierhilfeweidenberg.de SUMMARY:Weihnachtsmarkt Pegnitz 🎄🌟 DESCRIPTION:Erstmalig wird die Tierhilfe Weidenberg auch am Weihnachtsmarkt rund um die Bartholomäuskirche mitwirken. URL:https://www.tierhilfeweidenberg.de/en/event/weihnachtsmarkt-pegnitz-%f0%9f%8e%84%f0%9f%8c%9f/ LOCATION:Rosengasse 43\, 91257 Pegnitz\, Rosengasse 43\, Pegnitz\, Bayern\, 91257\, Deutschland END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20260215T103000 DTEND;TZID=Europe/Berlin:20260215T180000 DTSTAMP:20260204T140612 CREATED:20260120T052613Z LAST-MODIFIED:20260120T052723Z UID:4936-1771151400-1771178400@www.tierhilfeweidenberg.de SUMMARY:Lichtmessmarkt Pegnitz ❄️ DESCRIPTION:Der erste Markt des Jahres kündigt sich an.Wir freuen uns darauf\, euch an unserem Stand (Marktplatz\, vor PAMPOLINA) begrüßen zu dürfen. URL:https://www.tierhilfeweidenberg.de/en/event/lichtmessmarkt-pegnitz-%e2%9d%84%ef%b8%8f-2/ LOCATION:Pegnitz Marktplatz\, 91257 END:VEVENT END:VCALENDAR