CR9p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None09OT(low 3 bytes only, high byte must be zeroXA BSON ObjectID is a 12-byte value consisting of a 4-byte timestamp (seconds since epoch), a 3-byte machine id, a 2-byte process id, and a 3-byte counter. Note that the timestamp and counter fields must be stored big endian unlike the rest of BSON. This is because they are compared byte-by-byte and we want to ensure a mostly increasing order. gJavascript code with possibly empty environment mapping variables to values that the code may reference The first string is the regex pattern, the second is the regex options string. Options are identified by characters, which must be listed in alphabetical order. Valid options are *i* for case insensitive matching, *m* for multiline matching, *x* for verbose mode, *l* to make \w, \W, etc. locale dependent, *s* for dotall mode ("." matches everything), and *u* to make \w, \W, etc. match unicode.:Haskell types of this class correspond to BSON value types4A BSON value is one of the following types of values3The name of a BSON field4ZA BSON field is a named value, where the name (label) is a string and the value is a BSON 8A BSON document is a list of 4sGet the current process id.]Round second number to nearest multiple of first number. Eg: roundTo (1/1000) 0.12345 = 0.1239DshowHex of n padded with leading zeros if necessary to fill d digits:0Recursively lookup a nested field in a Document.;@Value of field in document, or fail (Nothing) if field not found<}Lookup value of field in document and cast to expected type. Fail (Nothing) if field not found or value not of expected type.=-Value of field in document. Error if missing.>ATyped value of field in document. Error if missing or wrong type.?-Only include fields of document in label list@*Exclude fields from document in label listAMerge documents with preference given to first one when both have the same label. I.e. for every (k := v) in first argument, if k exists in second argument then replace its value with v, otherwise add (k := v) to second argument.B&Field with given label and typed valueCMIf Just value then return one field document, otherwise return empty documentD%Apply generic function to typed valueEEConvert Value to expected type, or fail (Nothing) if not of that typeF7Convert Value to expected type. Error if not that type.GType of typed value:If number fits in type m then cast to m, otherwise NothingHTime when objectId was createdICreate a fresh ObjectIdHPut last 3 bytes into a Word24. Expected to be called on very short listp  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgJ ")/0 +#!$%&'(*,-.123457689:;<=>?@ABCDEFGHIJ8:;<=>?@A4567BC3 !"#$%&'()*+,-./012DEFG  HI9G    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg50B0C0None&Write binary representation of element%Read binary representation of Element% %           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#bson-0.3.2.2-5QXlTcDDUVLCt1j6Dsa23E Data.BsonData.Bson.BinaryObjectIdOid MinMaxKeyMinKeyMaxKey MongoStampSymbol JavascriptRegex UserDefinedMD5UUIDFunctionBinaryValvalvalListvalMaybecast' cast'List cast'MaybeValueFloatStringDocArrayBinFunUuidMd5UserDefObjIdBoolUTCNullRegExJavaScrSymInt32Int64StampMinMaxLabelField:=labelvalueDocument showHexLen!?looklookupvalueAtatincludeexcludemerge=:=?fvalcasttyped typeOfVal timestamp genObjectId$fReadObjectId$fShowObjectId$fValMinMaxKey$fValMongoStamp $fValInteger$fValInt $fValInt64 $fValInt32 $fValSymbol$fValJavascript $fValRegex $fValMaybe$fValNominalDiffTime $fValUTCTime $fValBool $fValObjectId$fValUserDefined$fValMD5 $fValUUID $fValFunction $fValBinary$fVal[] $fValValue $fValField $fValChar $fValText $fValFloat $fValDouble $fShowValue $fShowField $fShowBinary $fReadBinary $fEqBinary $fOrdBinary$fShowFunction$fReadFunction $fEqFunction $fOrdFunction $fShowUUID $fReadUUID$fEqUUID $fOrdUUID $fShowMD5 $fReadMD5$fEqMD5$fOrdMD5$fShowUserDefined$fReadUserDefined$fEqUserDefined$fOrdUserDefined $fShowRegex $fReadRegex $fEqRegex $fOrdRegex $fShowSymbol $fReadSymbol $fEqSymbol $fOrdSymbol$fShowMongoStamp$fReadMongoStamp$fEqMongoStamp$fOrdMongoStamp$fShowMinMaxKey$fReadMinMaxKey $fEqMinMaxKey$fOrdMinMaxKey $fEqObjectId $fOrdObjectId $fEqValue $fOrdValue$fShowJavascript$fEqJavascript$fOrdJavascript $fEqField $fOrdField putDouble getDoubleputInt32getInt32putInt64getInt64 putCString getCString putDocument getDocumentWord24 getProcessIDroundTofitInt makeWord24c_getpid compositewrap24putFieldgetFieldSubtypeputTaggetTagputLabelgetLabel putString getStringputArraygetArray putBinary getBinaryputRegexgetRegex putSymbol getSymbol putMongoStamp getMongoStamp putObjectId getObjectIdputBoolgetBoolputUTCgetUTC putClosure getClosure