a á `š ã@s@dZGdd„deƒZGdd„deƒZGdd„deƒZdd„Zd S) z0Useful mixins for Challenge and Resource objectscs:eZdZdZedd„ƒZejdd„ƒZ‡fdd„Z‡ZS)ÚVersionedLEACMEMixinzEThis mixin stores the version of Let's Encrypt's endpoint being used.cCs t|ddƒS)z*Define the version of ACME protocol to useÚ_le_acme_versioné)Úgetattr©Úself©rú-/usr/lib/python3/dist-packages/acme/mixins.pyÚle_acme_versionsz$VersionedLEACMEMixin.le_acme_versioncCst |d|¡dS)Nr)ÚobjectÚ __setattr__)rÚversionrrrr scs.|dkrt |||¡ntt|ƒ ||¡dS)Nr )r r Úsuperr)rÚkeyÚvalue©Ú __class__rrr sz VersionedLEACMEMixin.__setattr__) Ú__name__Ú __module__Ú __qualname__Ú__doc__Úpropertyr Úsetterr Ú __classcell__rrrrrs   rcs,eZdZdZ‡fdd„Z‡fdd„Z‡ZS)Ú ResourceMixinz… This mixin generates a RFC8555 compliant JWS payload by removing the `resource` field if needed (eg. ACME v2 protocol). csttt|ƒddƒS)ú/See josepy.JSONDeserializable.to_partial_json()Úto_partial_jsonÚresource©Ú_safe_jobj_compliancer rrrrrrs ÿzResourceMixin.to_partial_jsoncsttt|ƒddƒS)ú8See josepy.JSONObjectWithFields.fields_to_partial_json()Úfields_to_partial_jsonrrrrrrr $s ÿz$ResourceMixin.fields_to_partial_json©rrrrrr rrrrrrs rcs,eZdZdZ‡fdd„Z‡fdd„Z‡ZS)Ú TypeMixinzŒ This mixin allows generation of a RFC8555 compliant JWS payload by removing the `type` field if needed (eg. ACME v2 protocol). csttt|ƒddƒS)rrÚtype©rr r"rrrrr/s ÿzTypeMixin.to_partial_jsoncsttt|ƒddƒS)rr r#r$rrrrr 4s ÿz TypeMixin.fields_to_partial_jsonr!rrrrr"*s r"cCsBt||ƒr0t||ƒƒ}|jdkr,| |d¡|Std |¡ƒ‚dS)Néz Method {0}() is not implemented.)Úhasattrrr ÚpopÚAttributeErrorÚformat)ÚinstanceZ jobj_methodZuncompliant_fieldZjobjrrrr:s     rN)rr rrr"rrrrrÚs