bgAddlmZddlmZddlmZddlmZm Z ddl m Z ddl m Z e rddlmZddlmZdd lmZdd lmZdd lmZ dd lmZn#e$r dd lmZYnwxYwdZdZdZdZdZdZdS))TemplateSyntaxError) mark_safe)VERSION) _functoolsHub) TYPE_CHECKING)OP)Any)Dict)Optional)Iterator)Tuple)Origin) LoaderOriginczt|drt|jSt|drt|jSt |t r]t|drM|j}t |ttfr*t |dtrt|SdS)Ntemplate_debugdjango_template_sourcesourcer) hasattr_get_template_frame_from_debugr_get_template_frame_from_sourcer isinstancerrtuplelistr) exc_valuers y/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py!get_template_frame_from_exceptionrsy*++H-i.FGGG y233 .  ,   )011;gi6R6R;! fudm , , ;F1Iv1N1N ;26:: : 4c|t|ttfr|rd|dSdS|S)Nz [{}, ...]r)rrrformat) template_names r_get_template_name_descriptionr"/sK-$//  8%%mA&677 7 8 8rcddlm}ddlm|jt fd}||_t dkrdSddl}|jj tj dfd }||j_ dS)Nr)SimpleTemplateResponse)DjangoIntegrationcjtj}||S|t jt|j5}| d|j |cdddS#1swxYwYdS)Nop descriptioncontext) rcurrentget_integrationfget start_spanr TEMPLATE_RENDERr"r!set_data context_data)selfhubspanr%real_rendered_contents rrendered_contentz)patch_templates..rendered_content?sk   0 1 1 9(--d33 3 ^^!6t7IJJ   4 MM)T%6 7 7 7(--d33  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s+0B((B,/B,)ctj}||||g|Ri|S|pi}d|vr$t||d<|t jt|5}| d||||g|Ri|cdddS#1swxYwYdS)Nsentry_trace_metar'r*) rr+r,rtrace_propagation_metar.r r/r"r0) requestr!r*argskwargsr3r4r% real_renders rrenderzpatch_templates..renderUsPk   0 1 1 9;w wPPPPPP P-R g - -+4S5O5O5Q5Q+R+RG' ( ^^!6}EE   Q MM)W - - -;w wPPPPPP  Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Qs $B<<CC)N) django.template.responser$sentry_sdk.integrations.djangor%r6propertyDJANGO_VERSIONdjango.shortcuts shortcutsr@rwraps)r$r6djangor@r%r?r5s @@@rpatch_templatesrI8s??????@@@@@@2C  4 4 4 4 4X 4/?+")Kk""QQQQQQ#"Q$%Frc|dS|d}|d}|d}g}g}d}|dD]?\}}||kr||!||kr||=|}@|||dd|dd|ddS) Nlinename source_linesT)filenamelineno pre_context post_context context_linein_app)append)debugrRrQrSrTrUirKs rrrks }t 6]FV}H&KLL(  4 v::   t $ $ $ $ ZZ    % % % %LL"233'$RaR($   rc#KdV|d}|dkr(|dzV|d|dz}|dk&dSdS)Nr r7)find)template_sourceps r_linebreak_iterr_sd GGGT""A q&&!e  q1u - - q&&&&&&rc|sdS|\}\}}t|dd}|d}|}d}d}g}g} d} tt|D]O\} } ||| } ||kr || kr| }| } n-||| n| | | }P| |dS|||dd| dd| dS)NloadnamerMrrOrP)rQrRrSrTrU)getattrreload enumerater_rW)roriginstartendrQr]rRuptorSrTrUnumnextrKs rrrs% t!FLUCvz400H&mmooO F DKLL??@@   TtDy) D==SD[[FLL ^   t $ $ $ $    % % %v~t"233'$RaR($   rN)django.templaterdjango.utils.safestringrrHrrD sentry_sdkrrsentry_sdk._typesrsentry_sdk.constsr typingr r r r rdjango.template.baser ImportErrordjango.template.loaderrrr"rIrr_rrrrus//////------,,,,,,&&&&&&&&++++++ >+++++++>>>========> .0%0%0%f@...%%%%%sA AA