³ò Z‹ Dc@sFdZddd„ƒYZdefd„ƒYZdd d„ƒYZdS( sGA more or less complete user-defined wrapper around dictionary objects.tUserDictcBsìeZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zdd„Zdd„Zdd„Zd„Zd„Zd„Zedd„ƒZRS(cKsIh|_|dj o|i|ƒnt|ƒo|i|ƒndS(N(tdatatNonetupdatetlen(tselftdicttkwargs((s UserDict.pyct__init__s    cCs t|iƒS(N(treprR(R((s UserDict.pyct__repr__ scCs;t|tƒot|i|iƒSnt|i|ƒSdS(N(t isinstanceRtcmpR(RR((s UserDict.pyct__cmp__ scCs t|iƒS(N(RR(R((s UserDict.pyct__len__scCsY||ijo|i|Snt|idƒo|ii||ƒSnt|ƒ‚dS(Nt __missing__(Rthasattrt __class__RtKeyError(Rtkey((s UserDict.pyct __getitem__s cCs||i|sK