<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AVorlage%3AHandle</id>
	<title>Modul:Vorlage:Handle - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AVorlage%3AHandle"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Vorlage:Handle&amp;action=history"/>
	<updated>2026-06-04T01:58:30Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Vorlage:Handle&amp;diff=2918147&amp;oldid=prev</id>
		<title>imported&gt;PerfektesChaos: 2026-01-29</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Vorlage:Handle&amp;diff=2918147&amp;oldid=prev"/>
		<updated>2026-01-29T20:38:26Z</updated>

		<summary type="html">&lt;p&gt;2026-01-29&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local Handle = { suite  = &amp;quot;Handle&amp;quot;,&lt;br /&gt;
                 serial = &amp;quot;2026-01-29&amp;quot;,&lt;br /&gt;
                 item   = 19644424 }&lt;br /&gt;
--[=[&lt;br /&gt;
Template:Handle   {{DOI}} {{HDL}}&lt;br /&gt;
require: URIutil&lt;br /&gt;
]=]&lt;br /&gt;
local Failsafe = Handle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local Config = {&lt;br /&gt;
   parProblem  = &amp;quot;problem&amp;quot;,&lt;br /&gt;
   scheme      = false,&lt;br /&gt;
   doi         = { showArticle = &amp;quot;Digital Object Identifier&amp;quot;,&lt;br /&gt;
                   showName    = &amp;quot;DOI&amp;quot;,&lt;br /&gt;
                   stemURL     = &amp;quot;//doi.org/&amp;quot; },&lt;br /&gt;
   hdl         = { showArticle = false,&lt;br /&gt;
                   showName    = &amp;quot;Handle&amp;quot;,&lt;br /&gt;
                   stemURL     = &amp;quot;//hdl.handle.net/&amp;quot; },&lt;br /&gt;
   errCat      = false,&lt;br /&gt;
   errClass    = &amp;quot;error_Handle&amp;quot;,&lt;br /&gt;
   errClasses  = false,&lt;br /&gt;
   errHide     = false,&lt;br /&gt;
   errNS       = false,&lt;br /&gt;
   errDate     = { en = &amp;quot;Bad ISO year (month)&amp;quot;,&lt;br /&gt;
                   de = &amp;quot;ISO-Jahr (ggf. Monat) fehlerhaft&amp;quot; },&lt;br /&gt;
   errInvalid  = { en = &amp;quot;Invalid:&amp;quot;,&lt;br /&gt;
                   de = &amp;quot;Ungültig:&amp;quot; },&lt;br /&gt;
   errScheme   = { en = &amp;quot;Bad #invoke|scheme=&amp;quot; },&lt;br /&gt;
   errUnkown   = { en = &amp;quot;Unkown parameter:&amp;quot;,&lt;br /&gt;
                   de = &amp;quot;Parameter unbekannt:&amp;quot; },&lt;br /&gt;
   problemNote = { en = &amp;quot;(currently unavailable)&amp;quot;,&lt;br /&gt;
                   de = &amp;quot;(zurzeit nicht erreichbar)&amp;quot; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Config.fault = function ( alert )&lt;br /&gt;
    -- Format error message by class=error&lt;br /&gt;
    -- Parameter:&lt;br /&gt;
    --     alert  -- string, error message&lt;br /&gt;
    -- Returns:&lt;br /&gt;
    --     string, HTML span&lt;br /&gt;
    return tostring( mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                            :addClass( &amp;quot;error&amp;quot; )&lt;br /&gt;
                            :wikitext( alert ) )&lt;br /&gt;
end -- Config.fault()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function factory( apply )&lt;br /&gt;
    -- Localization of messages&lt;br /&gt;
    --     apply  -- string, with message key&lt;br /&gt;
    -- Returns message text; at least english&lt;br /&gt;
    local r&lt;br /&gt;
    entry = Config[ apply ]&lt;br /&gt;
    if entry then&lt;br /&gt;
        r = entry[ mw.language.getContentLanguage():getCode() ]&lt;br /&gt;
        if not r then&lt;br /&gt;
            r = entry.en&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        r = Config.fault( string.format( &amp;quot;????.%s.????&amp;quot;, apply ) )&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- factory()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function faculty( adjust )&lt;br /&gt;
    -- Test template arg for boolean&lt;br /&gt;
    --     adjust  -- string or nil&lt;br /&gt;
    -- Returns boolean&lt;br /&gt;
    local r = false&lt;br /&gt;
    if adjust then&lt;br /&gt;
        r = mw.text.trim( adjust )&lt;br /&gt;
        if r ~= &amp;quot;&amp;quot;  and  r ~= &amp;quot;0&amp;quot; then&lt;br /&gt;
            r = true&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- faculty()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function failed( alert, add )&lt;br /&gt;
    -- Format message with class=&amp;quot;error&amp;quot; or similar&lt;br /&gt;
    --     alert  -- string, with message key&lt;br /&gt;
    --     add    -- string, with additional information, or nil&lt;br /&gt;
    -- Returns message with markup&lt;br /&gt;
    local lucky, TemplUtl = pcall( require, &amp;quot;Module:TemplUtl&amp;quot; )&lt;br /&gt;
    local scope = Config.errClass&lt;br /&gt;
    local story = factory( alert )&lt;br /&gt;
    local r&lt;br /&gt;
    if add then&lt;br /&gt;
        story = string.format( &amp;quot;%s %s&amp;quot;, story, add )&lt;br /&gt;
    end&lt;br /&gt;
    if Config.errClasses then&lt;br /&gt;
        scope = string.format( &amp;quot;%s %s&amp;quot;, scope, Config.errClasses )&lt;br /&gt;
    end&lt;br /&gt;
    if type( TemplUtl ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
        TemplUtl = TemplUtl.TemplUtl()&lt;br /&gt;
    end&lt;br /&gt;
    if type( TemplUtl ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
       type( TemplUtl.failure ) == &amp;quot;function&amp;quot; then&lt;br /&gt;
        r = TemplUtl.failure( story,&lt;br /&gt;
                              not Config.errHide,&lt;br /&gt;
                              scope,&lt;br /&gt;
                              Config.frame )&lt;br /&gt;
    else&lt;br /&gt;
        -- LEGACY and global wiki mode&lt;br /&gt;
        local element = mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                               :addClass( scope )&lt;br /&gt;
        if not Config.frame then&lt;br /&gt;
            Config.frame = mw.getCurrentFrame()&lt;br /&gt;
        end&lt;br /&gt;
        if Config.frame:preprocess( &amp;quot;{{REVISIONID}}&amp;quot; ) == &amp;quot;&amp;quot; then&lt;br /&gt;
            Config.errCat  = false&lt;br /&gt;
            Config.errHide = false&lt;br /&gt;
            element:addClass( &amp;quot;error&amp;quot; )&lt;br /&gt;
        end&lt;br /&gt;
        if Config.errHide then&lt;br /&gt;
            element:css( &amp;quot;display&amp;quot;, &amp;quot;none&amp;quot; )&lt;br /&gt;
        end&lt;br /&gt;
        r = tostring( element:wikitext( story ) )&lt;br /&gt;
    end&lt;br /&gt;
    if Config.errCat then&lt;br /&gt;
        if Config.errNS then&lt;br /&gt;
            local ns = mw.title.getCurrentTitle().namespace&lt;br /&gt;
            local st = type( Config.errNS )&lt;br /&gt;
            if st == &amp;quot;string&amp;quot; then&lt;br /&gt;
                local space  = string.format( &amp;quot;.*%%s%d%%s.*&amp;quot;, ns )&lt;br /&gt;
                local spaces = string.format( &amp;quot; %s &amp;quot;, Config.errNS )&lt;br /&gt;
                if spaces:match( space ) then&lt;br /&gt;
                    Config.errNS = false&lt;br /&gt;
                end&lt;br /&gt;
            elseif st == &amp;quot;table&amp;quot; then&lt;br /&gt;
                for i = 1, #Config.errNS do&lt;br /&gt;
                    if Config.errNS[ i ] == ns then&lt;br /&gt;
                        Config.errNS = false&lt;br /&gt;
                        break    -- for i&lt;br /&gt;
                    end&lt;br /&gt;
                end -- for i&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        if not Config.errNS then&lt;br /&gt;
            r = string.format( &amp;quot;%s[[Category:%s]]&amp;quot;, r, Config.errCat )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- failed()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function fiat( access, args )&lt;br /&gt;
    -- Format template request&lt;br /&gt;
    --     access  -- string, with trimmed ID&lt;br /&gt;
    --     args    -- table, with template parameters&lt;br /&gt;
    -- Returns appropriate string&lt;br /&gt;
    local r, unknown&lt;br /&gt;
    for k, v in pairs( args ) do&lt;br /&gt;
        if k ~= 1  and&lt;br /&gt;
           k ~= &amp;quot;demo&amp;quot;  and&lt;br /&gt;
           k ~= &amp;quot;NoCat&amp;quot;  and&lt;br /&gt;
           k ~= Config.parProblem then&lt;br /&gt;
            if not unknown then&lt;br /&gt;
                unknown = { }&lt;br /&gt;
            end&lt;br /&gt;
            table.insert( unknown, k )&lt;br /&gt;
        end&lt;br /&gt;
    end -- for k, v&lt;br /&gt;
    if args.demo  or  faculty( args.NoCat ) then&lt;br /&gt;
        Config.errCat  = false&lt;br /&gt;
        Config.errHide = false&lt;br /&gt;
    end&lt;br /&gt;
    if unknown then&lt;br /&gt;
        local e = mw.html.create( &amp;quot;code&amp;quot; )&lt;br /&gt;
        e:wikitext( table.concat( unknown, &amp;quot; &amp;quot; ) )&lt;br /&gt;
        r = string.format( &amp;quot;&amp;#039;%s&amp;#039; in Template:%s&amp;quot;,&lt;br /&gt;
                           tostring( e ), Config.scheme )&lt;br /&gt;
        r = failed( &amp;quot;errUnkown&amp;quot;, r )&lt;br /&gt;
    else&lt;br /&gt;
        local lucky, URIutil = pcall( require, &amp;quot;Module:URIutil&amp;quot; )&lt;br /&gt;
        if lucky then&lt;br /&gt;
            if type( URIutil ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                URIutil = URIutil()&lt;br /&gt;
            else&lt;br /&gt;
                URIutil = &amp;quot;library URIutil invalid&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        if type( URIutil ) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
            error( URIutil, 0 )&lt;br /&gt;
        end&lt;br /&gt;
        if URIutil[ &amp;quot;is&amp;quot; .. Config.showName ]( access )  then&lt;br /&gt;
            local suffer = args[ Config.parProblem ]&lt;br /&gt;
            r = URIutil[ &amp;quot;link&amp;quot; .. Config.showName ]( access )&lt;br /&gt;
            if Config.class then&lt;br /&gt;
                local element = mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                                       :addClass( Config.class )&lt;br /&gt;
                                       :wikitext( r )&lt;br /&gt;
                r = tostring( element )&lt;br /&gt;
            end&lt;br /&gt;
            if Config.showArticle then&lt;br /&gt;
                r = string.format( &amp;quot;[[%s|%s]]:%s&amp;quot;,&lt;br /&gt;
                                   Config.showArticle, Config.scheme, r )&lt;br /&gt;
            else&lt;br /&gt;
                r = string.format( &amp;quot;%s:%s&amp;quot;, Config.scheme, r )&lt;br /&gt;
            end&lt;br /&gt;
            if suffer  and  suffer ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                local scan = &amp;quot;^(2[01]%d%d)(%-?[01]?%d?)$&amp;quot;&lt;br /&gt;
                local s, sm = suffer:match( scan )&lt;br /&gt;
                local e&lt;br /&gt;
                if sm  and  sm ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                    s = sm:match( &amp;quot;^%-([01]%d)$&amp;quot; )&lt;br /&gt;
                    if s then&lt;br /&gt;
                        local m = tonumber( s )&lt;br /&gt;
                        if m &amp;lt; 1  or  m &amp;gt; 12 then&lt;br /&gt;
                            s = false&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                if s then&lt;br /&gt;
                    e = mw.html.create( &amp;quot;small&amp;quot; )&lt;br /&gt;
                               :wikitext( factory( &amp;quot;problemNote&amp;quot; ) )&lt;br /&gt;
                    r = string.format( &amp;quot;%s %s&amp;quot;, r, tostring( e ) )&lt;br /&gt;
                else&lt;br /&gt;
                    e = mw.html.create( &amp;quot;code&amp;quot; )&lt;br /&gt;
                               :wikitext( Config.parProblem .. &amp;quot;=&amp;quot; )&lt;br /&gt;
                    r = failed( &amp;quot;errDate&amp;quot;, tostring( e ) )&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            r = failed( &amp;quot;errInvalid&amp;quot;,&lt;br /&gt;
                        string.format( &amp;quot;%s=%s&amp;quot;,&lt;br /&gt;
                                       Config.showName,&lt;br /&gt;
                                       mw.text.nowiki( access ) ) )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- fiat()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Handle.main = function ( argsF, argsT )&lt;br /&gt;
    -- Invocation; decide between first and secondary processing&lt;br /&gt;
    --     argsF  -- table, with #invoke parameters&lt;br /&gt;
    --     argsT  -- table, with template parameters&lt;br /&gt;
    -- Returns appropriate string&lt;br /&gt;
    local r = argsT[ 1 ]&lt;br /&gt;
    if r then&lt;br /&gt;
        local cnf = Config[ argsF.scheme ]&lt;br /&gt;
        if cnf then&lt;br /&gt;
            r = mw.text.trim( r )&lt;br /&gt;
            if r == &amp;quot;&amp;quot;  or&lt;br /&gt;
               r:find( cnf.stemURL, 1, true )  or&lt;br /&gt;
               r:find( Config.errClass, 1, true ) then&lt;br /&gt;
                argsF = false&lt;br /&gt;
            elseif r:find( &amp;quot;[[&amp;quot;, 1, true ) then&lt;br /&gt;
                local seek = &amp;quot;%[%[%s*&amp;quot; .. argsF.scheme .. &amp;quot;:&amp;quot;&lt;br /&gt;
                if r:lower():find( seek ) then&lt;br /&gt;
                    argsF = false&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            if argsF then&lt;br /&gt;
                Config.class      = argsF.class&lt;br /&gt;
                Config.errCat     = argsF.errCat&lt;br /&gt;
                Config.errClasses = argsF.errClasses&lt;br /&gt;
                Config.errHide    = faculty( argsF.errHide )&lt;br /&gt;
                Config.errNS      = argsF.errNS&lt;br /&gt;
                if argsF.parProblem then&lt;br /&gt;
                    Config.parProblem = argsF.parProblem&lt;br /&gt;
                end&lt;br /&gt;
                Config.scheme = argsF.scheme&lt;br /&gt;
                if argsF.showArticle then&lt;br /&gt;
                    if argsF.showArticle == &amp;quot;&amp;quot; then&lt;br /&gt;
                        Config.showArticle = false&lt;br /&gt;
                    else&lt;br /&gt;
                        Config.showArticle = argsF.showArticle&lt;br /&gt;
                    end&lt;br /&gt;
                else&lt;br /&gt;
                    Config.showArticle = cnf.showArticle&lt;br /&gt;
                end&lt;br /&gt;
                Config.showName = cnf.showName&lt;br /&gt;
                r               = fiat( r, argsT )&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            Config.errHide  = false&lt;br /&gt;
            Config.errClass = &amp;quot;error&amp;quot;&lt;br /&gt;
            r = failed( &amp;quot;errScheme&amp;quot;, argsF.scheme )&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        r = &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- Handle.main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failsafe.failsafe = function ( atleast )&lt;br /&gt;
    -- Retrieve versioning and check for compliance&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     atleast  -- string, with required version&lt;br /&gt;
    --                         or wikidata|item|~|@ or false&lt;br /&gt;
    -- Postcondition:&lt;br /&gt;
    --     Returns  string  -- with queried version/item, also if problem&lt;br /&gt;
    --              false   -- if appropriate&lt;br /&gt;
    -- 2024-03-01&lt;br /&gt;
    local since  = atleast&lt;br /&gt;
    local last   = ( since == &amp;quot;~&amp;quot; )&lt;br /&gt;
    local linked = ( since == &amp;quot;@&amp;quot; )&lt;br /&gt;
    local link   = ( since == &amp;quot;item&amp;quot; )&lt;br /&gt;
    local r&lt;br /&gt;
    if last  or  link  or  linked  or  since == &amp;quot;wikidata&amp;quot; then&lt;br /&gt;
        local item = Failsafe.item&lt;br /&gt;
        since = false&lt;br /&gt;
        if type( item ) == &amp;quot;number&amp;quot;  and  item &amp;gt; 0 then&lt;br /&gt;
            local suited = string.format( &amp;quot;Q%d&amp;quot;, item )&lt;br /&gt;
            if link then&lt;br /&gt;
                r = suited&lt;br /&gt;
            else&lt;br /&gt;
                local entity = mw.wikibase.getEntity( suited )&lt;br /&gt;
                if type( entity ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                    local seek = Failsafe.serialProperty or &amp;quot;P348&amp;quot;&lt;br /&gt;
                    local vsn  = entity:formatPropertyValues( seek )&lt;br /&gt;
                    if type( vsn ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
                       type( vsn.value ) == &amp;quot;string&amp;quot;  and&lt;br /&gt;
                       vsn.value ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                        if last  and  vsn.value == Failsafe.serial then&lt;br /&gt;
                            r = false&lt;br /&gt;
                        elseif linked then&lt;br /&gt;
                            if mw.title.getCurrentTitle().prefixedText&lt;br /&gt;
                               ==  mw.wikibase.getSitelink( suited ) then&lt;br /&gt;
                                r = false&lt;br /&gt;
                            else&lt;br /&gt;
                                r = suited&lt;br /&gt;
                            end&lt;br /&gt;
                        else&lt;br /&gt;
                            r = vsn.value&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        elseif link then&lt;br /&gt;
            r = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if type( r ) == &amp;quot;nil&amp;quot; then&lt;br /&gt;
        if not since  or  since &amp;lt;= Failsafe.serial then&lt;br /&gt;
            r = Failsafe.serial&lt;br /&gt;
        else&lt;br /&gt;
            r = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- Failsafe.failsafe()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Export&lt;br /&gt;
local p = { }&lt;br /&gt;
&lt;br /&gt;
p.f = function ( frame )&lt;br /&gt;
    local lucky, r&lt;br /&gt;
    Config.frame = frame&lt;br /&gt;
    lucky, r = pcall( Handle.main, frame.args, frame:getParent().args )&lt;br /&gt;
    if not lucky then&lt;br /&gt;
        r = Config.fault( string.format( &amp;quot;%s * %s&amp;quot;,&lt;br /&gt;
                                         frame:getTitle(), r ) )&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- p.f&lt;br /&gt;
&lt;br /&gt;
p.failsafe = function ( frame )&lt;br /&gt;
    -- Versioning interface&lt;br /&gt;
    local s = type( frame )&lt;br /&gt;
    local since&lt;br /&gt;
    if s == &amp;quot;table&amp;quot; then&lt;br /&gt;
        since = frame.args[ 1 ]&lt;br /&gt;
    elseif s == &amp;quot;string&amp;quot; then&lt;br /&gt;
        since = frame&lt;br /&gt;
    end&lt;br /&gt;
    if since then&lt;br /&gt;
        since = mw.text.trim( since )&lt;br /&gt;
        if since == &amp;quot;&amp;quot; then&lt;br /&gt;
            since = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return Failsafe.failsafe( since )  or  &amp;quot;&amp;quot;&lt;br /&gt;
end -- p.failsafe&lt;br /&gt;
&lt;br /&gt;
p.Handle = function ()&lt;br /&gt;
    -- Module interface&lt;br /&gt;
    return Handle&lt;br /&gt;
end -- p.Handle&lt;br /&gt;
&lt;br /&gt;
setmetatable( p,  { __call = function ( func, ... )&lt;br /&gt;
                                 setmetatable( p, nil )&lt;br /&gt;
                                 return Failsafe&lt;br /&gt;
                             end } )&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;PerfektesChaos</name></author>
	</entry>
</feed>