diff --git a/README.md b/README.md index 92bafcd..6d611bc 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Android Native Development Kit is also supported; see [libsaltpack-jni](https:// Documentation ------------- -The classes documentation can be found here: [https://gherynos.github.io/libsaltpack/annotated.html](https://gherynos.github.io/libsaltpack/annotated.html). +The classes documentation can be found here: [https://libsaltpack.nharyes.net/annotated.html](https://libsaltpack.nharyes.net/annotated.html). Examples -------- diff --git a/docs/_armored_input_stream_8h_source.html b/docs/_armored_input_stream_8h_source.html index af68907..d1427cf 100644 --- a/docs/_armored_input_stream_8h_source.html +++ b/docs/_armored_input_stream_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/ArmoredInputStream.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ArmoredInputStream.h
+
ArmoredInputStream.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_ARMOREDINPUTSTREAM_H
-
18 #define SALTPACK_ARMOREDINPUTSTREAM_H
-
19 
-
20 #include <iostream>
-
21 #include <sstream>
-
22 #include "types.h"
-
23 
-
24 namespace saltpack {
-
25 
-
31  class ArmoredInputStream : public std::istream, std::streambuf {
-
32 
-
33  public:
-
43  ArmoredInputStream(std::istream &in, const std::string& app);
-
44 
-
52  explicit ArmoredInputStream(std::istream &in);
-
53 
-
57  ~ArmoredInputStream() override;
-
58 
-
64  int underflow() override;
-
65 
-
66  private:
-
67  char ch{};
-
68  std::string app;
-
69  std::istream &input;
-
70  std::stringstream buffer;
-
71  BYTE_ARRAY dataBuffer;
-
72  size_t index;
-
73  bool dataReady;
-
74  bool footerReached;
-
75  bool footerVerified;
-
76  std::string mode;
-
77  };
-
78 }
-
79 
-
80 #endif //SALTPACK_ARMOREDINPUTSTREAM_H
-
-
saltpack::ArmoredInputStream::ArmoredInputStream
ArmoredInputStream(std::istream &in)
-
saltpack::ArmoredInputStream
Input Stream to parse BaseX armored content.
Definition: ArmoredInputStream.h:31
-
saltpack::ArmoredInputStream::underflow
int underflow() override
-
saltpack::BYTE_ARRAY
std::vector< BYTE > BYTE_ARRAY
Definition: types.h:30
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_ARMOREDINPUTSTREAM_H
+
18#define SALTPACK_ARMOREDINPUTSTREAM_H
+
19
+
20#include <iostream>
+
21#include <sstream>
+
22#include "types.h"
+
23
+
+
24namespace saltpack {
+
25
+
+
31 class ArmoredInputStream : public std::istream, std::streambuf {
+
32
+
33 public:
+
43 ArmoredInputStream(std::istream &in, const std::string& app);
+
44
+
52 explicit ArmoredInputStream(std::istream &in);
+
53
+ +
58
+
64 int underflow() override;
+
65
+
66 private:
+
67 char ch{};
+
68 std::string app;
+
69 std::istream &input;
+
70 std::stringstream buffer;
+
71 BYTE_ARRAY dataBuffer;
+
72 size_t index;
+
73 bool dataReady;
+
74 bool footerReached;
+
75 bool footerVerified;
+
76 std::string mode;
+
77 };
+
+
78}
+
+
79
+
80#endif //SALTPACK_ARMOREDINPUTSTREAM_H
+
Input Stream to parse BaseX armored content.
Definition ArmoredInputStream.h:31
~ArmoredInputStream() override
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
+
int underflow() override
ArmoredInputStream(std::istream &in, const std::string &app)
+
ArmoredInputStream(std::istream &in)
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
+
std::vector< BYTE > BYTE_ARRAY
Definition types.h:30
+
diff --git a/docs/_armored_output_stream_8h_source.html b/docs/_armored_output_stream_8h_source.html index 8263f96..742b012 100644 --- a/docs/_armored_output_stream_8h_source.html +++ b/docs/_armored_output_stream_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/ArmoredOutputStream.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
ArmoredOutputStream.h
+
ArmoredOutputStream.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_ARMOREDOUTPUTSTREAM_H
-
18 #define SALTPACK_ARMOREDOUTPUTSTREAM_H
-
19 
-
20 #include <iostream>
-
21 #include "types.h"
-
22 
-
23 namespace saltpack {
-
24 
-
30  class ArmoredOutputStream : public std::ostream, std::streambuf {
-
31 
-
32  public:
-
45  ArmoredOutputStream(std::ostream &out, const std::string& app, int mode, int lettersInWords, int wordsInPhrase);
-
46 
-
58  ArmoredOutputStream(std::ostream &out, const std::string& app, int mode);
-
59 
-
71  ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase);
-
72 
-
83  ArmoredOutputStream(std::ostream &out, int mode);
-
84 
- -
89 
-
95  int overflow(int __c) override;
-
96 
-
103  void finalise();
-
104 
-
105  private:
-
106  std::ostream &output;
-
107  std::string app;
-
108  int mode;
-
109  BYTE_ARRAY buffer;
-
110  size_t count;
-
111 
-
112  size_t lettersInWord;
-
113  size_t wordsInPhrase;
-
114  size_t lCount;
-
115  size_t wCount;
-
116 
-
117  void writeToOutput(const std::string& data);
-
118  };
-
119 }
-
120 
-
121 #endif //SALTPACK_ARMOREDOUTPUTSTREAM_H
-
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_ARMOREDOUTPUTSTREAM_H
+
18#define SALTPACK_ARMOREDOUTPUTSTREAM_H
+
19
+
20#include <iostream>
+
21#include "types.h"
+
22
+
23namespace saltpack {
+
24
+
+
30 class ArmoredOutputStream : public std::ostream, std::streambuf {
+
31
+
32 public:
+
45 ArmoredOutputStream(std::ostream &out, const std::string& app, int mode, int lettersInWords, int wordsInPhrase);
+
46
+
58 ArmoredOutputStream(std::ostream &out, const std::string& app, int mode);
+
59
+
71 ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase);
+
72
+
83 ArmoredOutputStream(std::ostream &out, int mode);
+
84
+ +
89
+
95 int overflow(int c) override;
+
96
+
103 void finalise();
+
104
+
105 private:
+
106 std::ostream &output;
+
107 std::string app;
+
108 int mode;
+
109 BYTE_ARRAY buffer;
+
110 size_t count;
+
111
+
112 size_t lettersInWord;
+
113 size_t wordsInPhrase;
+
114 size_t lCount;
+
115 size_t wCount;
+
116
+
117 void writeToOutput(const std::string& data);
+
118 };
+
+
119}
+
120
+
121#endif //SALTPACK_ARMOREDOUTPUTSTREAM_H
+
Output Stream to generate BaseX armored content.
Definition ArmoredOutputStream.h:30
ArmoredOutputStream(std::ostream &out, int mode)
-
int overflow(int __c) override
-
std::vector< BYTE > BYTE_ARRAY
Definition: types.h:30
+
ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)
ArmoredOutputStream(std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)
ArmoredOutputStream(std::ostream &out, const std::string &app, int mode)
-
~ArmoredOutputStream() override
void finalise()
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
-
Output Stream to generate BaseX armored content.
Definition: ArmoredOutputStream.h:30
-
ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)
+
int overflow(int c) override
+
~ArmoredOutputStream() override
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
+
std::vector< BYTE > BYTE_ARRAY
Definition types.h:30
+
diff --git a/docs/_message_reader_8h_source.html b/docs/_message_reader_8h_source.html index 620a2f0..644ab86 100644 --- a/docs/_message_reader_8h_source.html +++ b/docs/_message_reader_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/MessageReader.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
MessageReader.h
+
MessageReader.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_MESSAGEREADER_H
-
18 #define SALTPACK_MESSAGEREADER_H
-
19 
-
20 #include <msgpack.hpp>
-
21 #include "Base.h"
-
22 #include "PayloadPacket.h"
-
23 #include "PayloadPacketV2.h"
-
24 #include "SignaturePayloadPacket.h"
-
25 
-
26 namespace saltpack {
-
27 
-
33  class MessageReader : public Base {
-
34 
-
35  public:
-
44  MessageReader(std::istream &is, const BYTE_ARRAY& recipientSecretkey);
-
45 
-
53  explicit MessageReader(std::istream &is);
-
54 
-
63  MessageReader(std::istream &is, std::istream &messageStream);
-
64 
-
77  MessageReader(std::istream &is, const BYTE_ARRAY& recipientSecretkey, const std::pair<BYTE_ARRAY, BYTE_ARRAY>& symmetricKey);
-
78 
-
82  ~MessageReader() override;
-
83 
- -
92 
- -
101 
-
110  std::list<BYTE_ARRAY> getRecipients();
-
111 
- -
118 
- -
127 
-
128  private:
-
129  BYTE_ARRAY headerHash;
-
130  BYTE_ARRAY payloadKey;
-
131  BYTE_ARRAY macKey;
-
132  unsigned long recipientIndex;
-
133  std::list<BYTE_ARRAY> recipients;
-
134  unsigned long packetIndex;
-
135  std::istream &input;
-
136  msgpack::unpacker unpacker;
-
137  bool lastBlockFound;
-
138  bool intentionallyAnonymous;
-
139  int majorVersion;
-
140  int minorVersion;
-
141 
-
142  BYTE_ARRAY senderPublickey;
-
143 
-
144  void processEncryptionHeader(std::vector<char> headerBin, BYTE_ARRAY recipientSecretkey);
-
145 
-
146  void processSignatureHeader(std::vector<char> headerBin);
-
147 
-
148  void processSigncryptionHeader(std::vector<char> headerBin, const BYTE_ARRAY& recipientSecretkey,
-
149  const std::pair<BYTE_ARRAY, BYTE_ARRAY>& symmetricKey);
-
150 
-
151  BYTE_ARRAY decryptPacket(std::vector<BYTE_ARRAY> authenticatorsList, BYTE_ARRAY payloadSecretbox, bool final);
-
152 
-
153  BYTE_ARRAY verifyPacket(BYTE_ARRAY signature, BYTE_ARRAY payloadChunk, bool final);
-
154 
-
155  BYTE_ARRAY decryptPacket(BYTE_ARRAY payloadSecretbox, bool final);
-
156  };
-
157 }
-
158 
-
159 #endif //SALTPACK_MESSAGEREADER_H
-
-
saltpack::MessageReader::getSender
BYTE_ARRAY getSender()
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_MESSAGEREADER_H
+
18#define SALTPACK_MESSAGEREADER_H
+
19
+
20#include <msgpack.hpp>
+
21#include "Base.h"
+
22#include "PayloadPacket.h"
+
23#include "PayloadPacketV2.h"
+
24#include "SignaturePayloadPacket.h"
+
25
+
26namespace saltpack {
+
27
+
+
33 class MessageReader : public Base {
+
34
+
35 public:
+
44 MessageReader(std::istream &is, const BYTE_ARRAY& recipientSecretkey);
+
45
+
53 explicit MessageReader(std::istream &is);
+
54
+
63 MessageReader(std::istream &is, std::istream &messageStream);
+
64
+
77 MessageReader(std::istream &is, const BYTE_ARRAY& recipientSecretkey, const std::pair<BYTE_ARRAY, BYTE_ARRAY>& symmetricKey);
+
78
+
82 ~MessageReader() override;
+
83
+ +
92
+ +
101
+
110 std::list<BYTE_ARRAY> getRecipients();
+
111
+ +
118
+ +
127
+
128 private:
+
129 BYTE_ARRAY headerHash;
+
130 BYTE_ARRAY payloadKey;
+
131 BYTE_ARRAY macKey;
+
132 unsigned long recipientIndex{};
+
133 std::list<BYTE_ARRAY> recipients;
+
134 unsigned long packetIndex{};
+
135 std::istream &input;
+
136 msgpack::unpacker unpacker;
+
137 bool lastBlockFound{};
+
138 bool intentionallyAnonymous{};
+
139 int majorVersion{};
+
140 int minorVersion{};
+
141
+
142 BYTE_ARRAY senderPublickey;
+
143
+
144 void processEncryptionHeader(std::vector<char> headerBin, BYTE_ARRAY recipientSecretkey);
+
145
+
146 void processSignatureHeader(std::vector<char> headerBin);
+
147
+
148 void processSigncryptionHeader(std::vector<char> headerBin, const BYTE_ARRAY& recipientSecretkey,
+
149 const std::pair<BYTE_ARRAY, BYTE_ARRAY>& symmetricKey);
+
150
+
151 BYTE_ARRAY decryptPacket(std::vector<BYTE_ARRAY> authenticatorsList, BYTE_ARRAY payloadSecretbox, bool final);
+
152
+
153 BYTE_ARRAY verifyPacket(BYTE_ARRAY signature, BYTE_ARRAY payloadChunk, bool final);
+
154
+
155 BYTE_ARRAY decryptPacket(BYTE_ARRAY payloadSecretbox, bool final);
+
156 };
+
+
157}
+
158
+
159#endif //SALTPACK_MESSAGEREADER_H
+
The class used to decrypt or verify a message.
Definition MessageReader.h:33
+
std::list< BYTE_ARRAY > getRecipients()
MessageReader(std::istream &is)
-
MessageReader(std::istream &is, std::istream &messageStream)
-
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)
-
BYTE_ARRAY getBlock()
-
std::vector< BYTE > BYTE_ARRAY
Definition: types.h:30
-
std::list< BYTE_ARRAY > getRecipients()
-
bool hasMoreBlocks()
-
~MessageReader() override
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)
-
The class used to decrypt or verify a message.
Definition: MessageReader.h:33
bool isIntentionallyAnonymous()
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
+
BYTE_ARRAY getSender()
+
~MessageReader() override
+
BYTE_ARRAY getBlock()
+
MessageReader(std::istream &is, std::istream &messageStream)
+
bool hasMoreBlocks()
+
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
+
std::vector< BYTE > BYTE_ARRAY
Definition types.h:30
+
diff --git a/docs/_message_writer_8h_source.html b/docs/_message_writer_8h_source.html index 6fc504c..5c60b78 100644 --- a/docs/_message_writer_8h_source.html +++ b/docs/_message_writer_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/MessageWriter.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
MessageWriter.h
+
MessageWriter.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_MESSAGEWRITER_H
-
18 #define SALTPACK_MESSAGEWRITER_H
-
19 
-
20 #include <list>
-
21 #include "Base.h"
-
22 
-
23 namespace saltpack {
-
24 
-
30  class MessageWriter : public Base {
-
31 
-
32  public:
-
43  MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list<BYTE_ARRAY>& recipients,
-
44  bool visibleRecipients);
-
45 
-
56  MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list<BYTE_ARRAY>& recipients);
-
57 
-
67  MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipients, bool visibleRecipients);
-
68 
-
78  MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipients);
-
79 
-
89  MessageWriter(std::ostream &os, const BYTE_ARRAY& senderSecretkey, bool detatchedSignature);
-
90 
-
103  MessageWriter(std::ostream &os, const BYTE_ARRAY& senderSecretkey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
-
104  const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
-
105 
-
118  MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipientsPublickeys,
-
119  const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
-
120 
-
124  ~MessageWriter() override;
-
125 
-
134  void addBlock(BYTE_ARRAY data, bool final);
-
135 
-
136  private:
-
137  std::ostream &output;
-
138  unsigned long packetIndex;
-
139  BYTE_ARRAY payloadKey;
-
140  BYTE_ARRAY headerHash;
-
141  std::list<BYTE_ARRAY> macKeys;
-
142  bool lastBlockAdded;
-
143 
-
144  BYTE_ARRAY secretKey;
-
145  BYTE_ARRAY buffer;
-
146 
-
147  std::string generateEncryptionHeader(BYTE_ARRAY ephemeralSecretkey, BYTE_ARRAY ephemeralPublickey,
-
148  BYTE_ARRAY senderPublickey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
-
149  bool visibleRecipients);
-
150 
-
151  static std::string generateSignatureHeader(BYTE_ARRAY senderPublickey, bool detatchedSignature);
-
152 
-
153  std::string generateSigncryptionHeader(const BYTE_ARRAY& ephemeralSecretkey, const BYTE_ARRAY& ephemeralPublickey,
-
154  BYTE_ARRAY senderPublickey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
-
155  const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
-
156 
-
157  static std::string encodeHeader(const std::string& header);
-
158 
-
159  static BYTE_ARRAY generateAuthenticator(BYTE_ARRAY concat, BYTE_ARRAY recipientMacKey);
-
160 
-
161  std::string generatePayloadPacket(BYTE_ARRAY message, bool final);
-
162 
-
163  std::string generateSignaturePayloadPacket(const BYTE_ARRAY& message, bool final);
-
164 
-
165  std::string generateSigncryptionPayloadPacket(BYTE_ARRAY message, bool final);
-
166  };
-
167 }
-
168 
-
169 #endif //SALTPACK_MESSAGEWRITER_H
-
-
saltpack::MessageWriter::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)
-
saltpack::MessageWriter::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)
-
saltpack::MessageWriter
The class used to encrypt or sign a message.
Definition: MessageWriter.h:30
-
saltpack::BYTE_ARRAY
std::vector< BYTE > BYTE_ARRAY
Definition: types.h:30
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_MESSAGEWRITER_H
+
18#define SALTPACK_MESSAGEWRITER_H
+
19
+
20#include <list>
+
21#include "Base.h"
+
22
+
23namespace saltpack {
+
24
+
+
30 class MessageWriter : public Base {
+
31
+
32 public:
+
43 MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list<BYTE_ARRAY>& recipients,
+
44 bool visibleRecipients);
+
45
+
56 MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list<BYTE_ARRAY>& recipients);
+
57
+
67 MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipients, bool visibleRecipients);
+
68
+
78 MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipients);
+
79
+
89 MessageWriter(std::ostream &os, const BYTE_ARRAY& senderSecretkey, bool detatchedSignature);
+
90
+
103 MessageWriter(std::ostream &os, const BYTE_ARRAY& senderSecretkey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
+
104 const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
+
105
+
118 MessageWriter(std::ostream &os, const std::list<BYTE_ARRAY>& recipientsPublickeys,
+
119 const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
+
120
+
124 ~MessageWriter() override;
+
125
+
134 void addBlock(BYTE_ARRAY data, bool final);
+
135
+
136 private:
+
137 std::ostream &output;
+
138 unsigned long packetIndex;
+
139 BYTE_ARRAY payloadKey;
+
140 BYTE_ARRAY headerHash;
+
141 std::list<BYTE_ARRAY> macKeys;
+
142 bool lastBlockAdded;
+
143
+
144 BYTE_ARRAY secretKey;
+
145 BYTE_ARRAY buffer;
+
146
+
147 std::string generateEncryptionHeader(BYTE_ARRAY ephemeralSecretkey, BYTE_ARRAY ephemeralPublickey,
+
148 BYTE_ARRAY senderPublickey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
+
149 bool visibleRecipients);
+
150
+
151 static std::string generateSignatureHeader(BYTE_ARRAY senderPublickey, bool detatchedSignature);
+
152
+
153 std::string generateSigncryptionHeader(const BYTE_ARRAY& ephemeralSecretkey, const BYTE_ARRAY& ephemeralPublickey,
+
154 BYTE_ARRAY senderPublickey, const std::list<BYTE_ARRAY>& recipientsPublickeys,
+
155 const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
+
156
+
157 static std::string encodeHeader(const std::string& header);
+
158
+
159 static BYTE_ARRAY generateAuthenticator(BYTE_ARRAY concat, BYTE_ARRAY recipientMacKey);
+
160
+
161 std::string generatePayloadPacket(BYTE_ARRAY message, bool final);
+
162
+
163 std::string generateSignaturePayloadPacket(const BYTE_ARRAY& message, bool final);
+
164
+
165 std::string generateSigncryptionPayloadPacket(BYTE_ARRAY message, bool final);
+
166 };
+
+
167}
+
168
+
169#endif //SALTPACK_MESSAGEWRITER_H
+
The class used to encrypt or sign a message.
Definition MessageWriter.h:30
+
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)
+
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
+
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
void addBlock(BYTE_ARRAY data, bool final)
+
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)
~MessageWriter() override
-
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)
+
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)
-
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
-
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
-
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
+
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
+
std::vector< BYTE > BYTE_ARRAY
Definition types.h:30
+
diff --git a/docs/_saltpack_exception_8h_source.html b/docs/_saltpack_exception_8h_source.html index 7f9844a..b907656 100644 --- a/docs/_saltpack_exception_8h_source.html +++ b/docs/_saltpack_exception_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/SaltpackException.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
SaltpackException.h
+
SaltpackException.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_SALTPACKEXCEPTION_H
-
18 #define SALTPACK_SALTPACKEXCEPTION_H
-
19 
-
20 #include <iostream>
-
21 
-
22 namespace saltpack {
-
23 
-
27  class SaltpackException : public std::exception {
-
28  std::runtime_error m;
-
29 
-
30  public:
-
31  explicit SaltpackException(const std::string &msg) : m(msg.c_str()) {}
-
32 
-
33  ~SaltpackException() noexcept override = default;
-
34 
-
35  const char *what() const noexcept override {
-
36  return m.what();
-
37  }
-
38  };
-
39 
-
40  static_assert(std::is_nothrow_copy_constructible<SaltpackException>::value,
-
41  "SaltpackException must be nothrow copy constructible");
-
42 }
-
43 
-
44 #endif //SALTPACK_SALTPACKEXCEPTION_H
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_SALTPACKEXCEPTION_H
+
18#define SALTPACK_SALTPACKEXCEPTION_H
+
19
+
20#include <iostream>
+
21
+
22namespace saltpack {
+
23
+
+
27 class SaltpackException : public std::exception {
+
28 std::runtime_error m;
+
29
+
30 public:
+
31 explicit SaltpackException(const std::string &msg) : m(msg.c_str()) {}
+
32
+
33 ~SaltpackException() noexcept override = default;
+
34
+
35 const char *what() const noexcept override {
+
36 return m.what();
+
37 }
+
38 };
+
+
39
+
40 static_assert(std::is_nothrow_copy_constructible<SaltpackException>::value,
+
41 "SaltpackException must be nothrow copy constructible");
+
42}
+
43
+
44#endif //SALTPACK_SALTPACKEXCEPTION_H
+
Saltpack exception.
Definition SaltpackException.h:27
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
-
Saltpack exception.
Definition: SaltpackException.h:27
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
diff --git a/docs/_utils_8h_source.html b/docs/_utils_8h_source.html index f9e318c..0686751 100644 --- a/docs/_utils_8h_source.html +++ b/docs/_utils_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/Utils.h Source File + + @@ -19,8 +21,8 @@
- - + @@ -29,22 +31,28 @@
+
libsaltpack
- + +/* @license-end */ + +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Utils.h
+
Utils.h
-
1 /*
-
2  * Copyright 2016-2020 Luca Zanconato
-
3  *
-
4  * Licensed under the Apache License, Version 2.0 (the "License");
-
5  * you may not use this file except in compliance with the License.
-
6  * You may obtain a copy of the License at
-
7  *
-
8  * http://www.apache.org/licenses/LICENSE-2.0
-
9  *
-
10  * Unless required by applicable law or agreed to in writing, software
-
11  * distributed under the License is distributed on an "AS IS" BASIS,
-
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
13  * See the License for the specific language governing permissions and
-
14  * limitations under the License.
-
15  */
-
16 
-
17 #ifndef SALTPACK_UTILS_H
-
18 #define SALTPACK_UTILS_H
-
19 
-
20 #include "types.h"
-
21 
-
22 namespace saltpack {
-
23 
-
27  class Utils {
-
28 
-
29  public:
-
38  static void generateKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey);
-
39 
-
48  static void generateSignKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey);
-
49 
- -
60 
-
69  static int baseXblockSize(const std::string& alphabet, int size);
-
70 
-
79  static std::string baseXencode(const BYTE_ARRAY& data, std::string alphabet);
-
80 
-
90  static std::string baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet);
-
91 
-
102  static BYTE_ARRAY baseXdecode(std::string data, const std::string& alphabet);
-
103 
-
113  static BYTE_ARRAY hexToBin(const std::string& hex);
-
114 
-
124  static std::string binToHex(BYTE_ARRAY bin);
-
125 
-
135  static BYTE_ARRAY generateRandomBytes(size_t size);
-
136 
-
150  static BYTE_ARRAY deriveKeyFromPassword(unsigned long long int keySize, const std::string& password, BYTE_ARRAY salt,
-
151  unsigned long long int opsLimit, size_t memLimit);
-
152  };
-
153 }
-
154 
-
155 #endif //SALTPACK_UTILS_H
-
+
1/*
+
2 * Copyright 2016-2024 Luca Zanconato
+
3 *
+
4 * Licensed under the Apache License, Version 2.0 (the "License");
+
5 * you may not use this file except in compliance with the License.
+
6 * You may obtain a copy of the License at
+
7 *
+
8 * http://www.apache.org/licenses/LICENSE-2.0
+
9 *
+
10 * Unless required by applicable law or agreed to in writing, software
+
11 * distributed under the License is distributed on an "AS IS" BASIS,
+
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 * See the License for the specific language governing permissions and
+
14 * limitations under the License.
+
15 */
+
16
+
17#ifndef SALTPACK_UTILS_H
+
18#define SALTPACK_UTILS_H
+
19
+
20#include "types.h"
+
21
+
22namespace saltpack {
+
23
+
+
27 class Utils {
+
28
+
29 public:
+
38 static void generateKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey);
+
39
+
48 static void generateSignKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey);
+
49
+ +
60
+
69 static int baseXblockSize(const std::string& alphabet, int size);
+
70
+
79 static std::string baseXencode(const BYTE_ARRAY& data, std::string alphabet);
+
80
+
90 static std::string baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet);
+
91
+
102 static BYTE_ARRAY baseXdecode(std::string data, const std::string& alphabet);
+
103
+
113 static BYTE_ARRAY hexToBin(const std::string& hex);
+
114
+
124 static std::string binToHex(BYTE_ARRAY bin);
+
125
+
135 static BYTE_ARRAY generateRandomBytes(size_t size);
+
136
+
150 static BYTE_ARRAY deriveKeyFromPassword(unsigned long long int keySize, const std::string& password, BYTE_ARRAY salt,
+
151 unsigned long long int opsLimit, size_t memLimit);
+
152 };
+
+
153}
+
154
+
155#endif //SALTPACK_UTILS_H
+
Utilities class.
Definition Utils.h:27
+
static BYTE_ARRAY generateRandomBytes(size_t size)
static void generateSignKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
static std::string binToHex(BYTE_ARRAY bin)
-
static BYTE_ARRAY generateRandomBytes(size_t size)
-
static BYTE_ARRAY derivePublickey(BYTE_ARRAY secretkey)
-
std::vector< BYTE > BYTE_ARRAY
Definition: types.h:30
-
static std::string baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)
-
static int baseXblockSize(const std::string &alphabet, int size)
+
static BYTE_ARRAY deriveKeyFromPassword(unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)
static BYTE_ARRAY hexToBin(const std::string &hex)
static BYTE_ARRAY baseXdecode(std::string data, const std::string &alphabet)
-
static std::string baseXencode(const BYTE_ARRAY &data, std::string alphabet)
-
Utilities class.
Definition: Utils.h:27
+
static std::string baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)
+
static int baseXblockSize(const std::string &alphabet, int size)
static void generateKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
-
static BYTE_ARRAY deriveKeyFromPassword(unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)
-
The saltpack library namespace.
Definition: ArmoredInputStream.h:24
+
static std::string baseXencode(const BYTE_ARRAY &data, std::string alphabet)
+
static BYTE_ARRAY derivePublickey(BYTE_ARRAY secretkey)
+
The saltpack library namespace.
Definition ArmoredInputStream.h:24
+
std::vector< BYTE > BYTE_ARRAY
Definition types.h:30
+
diff --git a/docs/annotated.html b/docs/annotated.html index b9f9403..527a5bf 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Class List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ + @@ -55,33 +58,37 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class List
+
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12]
- - +
[detail level 12]
 NsaltpackThe saltpack library namespace
 CArmoredInputStreamInput Stream to parse BaseX armored content
+ + - + - +
 NsaltpackThe saltpack library namespace
 CArmoredInputStreamInput Stream to parse BaseX armored content
 CArmoredOutputStreamOutput Stream to generate BaseX armored content
 CMessageReaderThe class used to decrypt or verify a message
 CMessageReaderThe class used to decrypt or verify a message
 CMessageWriterThe class used to encrypt or sign a message
 CSaltpackExceptionSaltpack exception
 CSaltpackExceptionSaltpack exception
 CUtilsUtilities class
diff --git a/docs/bc_sd.png b/docs/bc_sd.png new file mode 100644 index 0000000..31ca888 Binary files /dev/null and b/docs/bc_sd.png differ diff --git a/docs/classes.html b/docs/classes.html index 0fc9b2f..0c62e85 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Class Index + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ + @@ -55,45 +58,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class Index
+
Class Index
-
a | m | s | u
- - - - - - - - - - - - - - - - -
  a  
-
ArmoredOutputStream (saltpack)   MessageWriter (saltpack)   
  u  
-
  m  
-
  s  
-
ArmoredInputStream (saltpack)   Utils (saltpack)   
MessageReader (saltpack)   SaltpackException (saltpack)   
-
a | m | s | u
+
A | M | S | U
+
+
+
A
+
ArmoredInputStream (saltpack)
ArmoredOutputStream (saltpack)
+
+
M
+
MessageReader (saltpack)
MessageWriter (saltpack)
+
+
S
+
SaltpackException (saltpack)
+
+
U
+
Utils (saltpack)
+
diff --git a/docs/classsaltpack_1_1_armored_input_stream-members.html b/docs/classsaltpack_1_1_armored_input_stream-members.html index a520fa8..68f02ba 100644 --- a/docs/classsaltpack_1_1_armored_input_stream-members.html +++ b/docs/classsaltpack_1_1_armored_input_stream-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::ArmoredInputStream Member List
+
saltpack::ArmoredInputStream Member List

This is the complete list of members for saltpack::ArmoredInputStream, including all inherited members.

- + - +
ArmoredInputStream(std::istream &in, const std::string &app)saltpack::ArmoredInputStream
ArmoredInputStream(std::istream &in)saltpack::ArmoredInputStreamexplicit
ArmoredInputStream(std::istream &in)saltpack::ArmoredInputStreamexplicit
underflow() overridesaltpack::ArmoredInputStream
~ArmoredInputStream() overridesaltpack::ArmoredInputStream
~ArmoredInputStream() overridesaltpack::ArmoredInputStream
diff --git a/docs/classsaltpack_1_1_armored_input_stream.html b/docs/classsaltpack_1_1_armored_input_stream.html index f5c9cb0..31ccf16 100644 --- a/docs/classsaltpack_1_1_armored_input_stream.html +++ b/docs/classsaltpack_1_1_armored_input_stream.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::ArmoredInputStream Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

Input Stream to parse BaseX armored content. - More...

+ More...

#include <ArmoredInputStream.h>

@@ -84,23 +93,23 @@
- - + - + - + - +

+

Public Member Functions

 ArmoredInputStream (std::istream &in, const std::string &app)
 ArmoredInputStream (std::istream &in, const std::string &app)
 
 ArmoredInputStream (std::istream &in)
 ArmoredInputStream (std::istream &in)
 
 ~ArmoredInputStream () override
 ~ArmoredInputStream () override
 
int underflow () override
int underflow () override
 

Detailed Description

Input Stream to parse BaseX armored content.

The alphabet used is BASE62.

Constructor & Destructor Documentation

- -

◆ ArmoredInputStream() [1/2]

+ +

◆ ArmoredInputStream() [1/2]

@@ -141,8 +143,8 @@

-

◆ ArmoredInputStream() [2/2]

+ +

◆ ArmoredInputStream() [2/2]

@@ -153,8 +155,7 @@

saltpack::ArmoredInputStream::ArmoredInputStream ( - std::istream &  - in) + std::istream & in) @@ -180,8 +181,8 @@

-

◆ ~ArmoredInputStream()

+ +

◆ ~ArmoredInputStream()

@@ -192,7 +193,7 @@

saltpack::ArmoredInputStream::~ArmoredInputStream ( - ) + ) @@ -207,8 +208,8 @@

Member Function Documentation

- -

◆ underflow()

+ +

◆ underflow()

@@ -219,7 +220,7 @@

int saltpack::ArmoredInputStream::underflow ( - ) + ) @@ -240,9 +241,7 @@

diff --git a/docs/classsaltpack_1_1_armored_input_stream.png b/docs/classsaltpack_1_1_armored_input_stream.png index c90f04b..43ad1a3 100644 Binary files a/docs/classsaltpack_1_1_armored_input_stream.png and b/docs/classsaltpack_1_1_armored_input_stream.png differ diff --git a/docs/classsaltpack_1_1_armored_output_stream-members.html b/docs/classsaltpack_1_1_armored_output_stream-members.html index b617b0a..b4c5654 100644 --- a/docs/classsaltpack_1_1_armored_output_stream-members.html +++ b/docs/classsaltpack_1_1_armored_output_stream-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::ArmoredOutputStream Member List
+
saltpack::ArmoredOutputStream Member List

This is the complete list of members for saltpack::ArmoredOutputStream, including all inherited members.

- + - + - +
ArmoredOutputStream(std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)saltpack::ArmoredOutputStream
ArmoredOutputStream(std::ostream &out, const std::string &app, int mode)saltpack::ArmoredOutputStream
ArmoredOutputStream(std::ostream &out, const std::string &app, int mode)saltpack::ArmoredOutputStream
ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)saltpack::ArmoredOutputStream
ArmoredOutputStream(std::ostream &out, int mode)saltpack::ArmoredOutputStream
ArmoredOutputStream(std::ostream &out, int mode)saltpack::ArmoredOutputStream
finalise()saltpack::ArmoredOutputStream
overflow(int __c) overridesaltpack::ArmoredOutputStream
overflow(int c) overridesaltpack::ArmoredOutputStream
~ArmoredOutputStream() overridesaltpack::ArmoredOutputStream
diff --git a/docs/classsaltpack_1_1_armored_output_stream.html b/docs/classsaltpack_1_1_armored_output_stream.html index fb1f6d0..d1292aa 100644 --- a/docs/classsaltpack_1_1_armored_output_stream.html +++ b/docs/classsaltpack_1_1_armored_output_stream.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::ArmoredOutputStream Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

Output Stream to generate BaseX armored content. - More...

+ More...

#include <ArmoredOutputStream.h>

@@ -84,29 +93,29 @@
- - + - + - + - + - + - - - + + +

+

Public Member Functions

 ArmoredOutputStream (std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)
 ArmoredOutputStream (std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)
 
 ArmoredOutputStream (std::ostream &out, const std::string &app, int mode)
 ArmoredOutputStream (std::ostream &out, const std::string &app, int mode)
 
 ArmoredOutputStream (std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)
 ArmoredOutputStream (std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)
 
 ArmoredOutputStream (std::ostream &out, int mode)
 ArmoredOutputStream (std::ostream &out, int mode)
 
 ~ArmoredOutputStream () override
 ~ArmoredOutputStream () override
 
int overflow (int __c) override
 
void finalise ()
int overflow (int c) override
 
void finalise ()
 

Detailed Description

Output Stream to generate BaseX armored content.

The alphabet used is BASE62.

Constructor & Destructor Documentation

- -

◆ ArmoredOutputStream() [1/4]

+ +

◆ ArmoredOutputStream() [1/4]

@@ -168,8 +167,8 @@

-

◆ ArmoredOutputStream() [2/4]

+ +

◆ ArmoredOutputStream() [2/4]

@@ -217,8 +208,8 @@

-

◆ ArmoredOutputStream() [3/4]

+ +

◆ ArmoredOutputStream() [3/4]

@@ -273,8 +255,8 @@

-

◆ ArmoredOutputStream() [4/4]

+ +

◆ ArmoredOutputStream() [4/4]

@@ -315,8 +290,8 @@

-

◆ ~ArmoredOutputStream()

+ +

◆ ~ArmoredOutputStream()

@@ -327,7 +302,7 @@

saltpack::ArmoredOutputStream::~ArmoredOutputStream ( - ) + ) @@ -342,8 +317,8 @@

Member Function Documentation

- -

◆ finalise()

+ +

◆ finalise()

@@ -351,7 +326,7 @@

void saltpack::ArmoredOutputStream::finalise ( - ) + ) @@ -366,8 +341,8 @@

-

◆ overflow()

+ +

◆ overflow()

@@ -378,8 +353,7 @@

int saltpack::ArmoredOutputStream::overflow ( - int  - __c) + int c) @@ -392,7 +366,7 @@

Parameters
- +
__cthe next character to output.
cthe next character to output.
@@ -405,9 +379,7 @@

diff --git a/docs/classsaltpack_1_1_armored_output_stream.png b/docs/classsaltpack_1_1_armored_output_stream.png index e836197..f8a620d 100644 Binary files a/docs/classsaltpack_1_1_armored_output_stream.png and b/docs/classsaltpack_1_1_armored_output_stream.png differ diff --git a/docs/classsaltpack_1_1_message_reader-members.html b/docs/classsaltpack_1_1_message_reader-members.html index fd1b34e..39737a2 100644 --- a/docs/classsaltpack_1_1_message_reader-members.html +++ b/docs/classsaltpack_1_1_message_reader-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::MessageReader Member List
+
saltpack::MessageReader Member List

This is the complete list of members for saltpack::MessageReader, including all inherited members.

- + - + - + - + - +
getBlock()saltpack::MessageReader
getRecipients()saltpack::MessageReader
getRecipients()saltpack::MessageReader
getSender()saltpack::MessageReader
hasMoreBlocks()saltpack::MessageReader
hasMoreBlocks()saltpack::MessageReader
isIntentionallyAnonymous()saltpack::MessageReader
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)saltpack::MessageReader
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)saltpack::MessageReader
MessageReader(std::istream &is)saltpack::MessageReaderexplicit
MessageReader(std::istream &is, std::istream &messageStream)saltpack::MessageReader
MessageReader(std::istream &is, std::istream &messageStream)saltpack::MessageReader
MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)saltpack::MessageReader
~MessageReader() overridesaltpack::MessageReader
~MessageReader() overridesaltpack::MessageReader
diff --git a/docs/classsaltpack_1_1_message_reader.html b/docs/classsaltpack_1_1_message_reader.html index 3b3b252..244281f 100644 --- a/docs/classsaltpack_1_1_message_reader.html +++ b/docs/classsaltpack_1_1_message_reader.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::MessageReader Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

The class used to decrypt or verify a message. - More...

+ More...

#include <MessageReader.h>

@@ -84,35 +93,35 @@
- - + - + - + - + - + - + - + - - - + + + - +

+

Public Member Functions

 MessageReader (std::istream &is, const BYTE_ARRAY &recipientSecretkey)
 MessageReader (std::istream &is, const BYTE_ARRAY &recipientSecretkey)
 
 MessageReader (std::istream &is)
 MessageReader (std::istream &is)
 
 MessageReader (std::istream &is, std::istream &messageStream)
 MessageReader (std::istream &is, std::istream &messageStream)
 
 MessageReader (std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)
 MessageReader (std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)
 
 ~MessageReader () override
 ~MessageReader () override
 
BYTE_ARRAY getBlock ()
BYTE_ARRAY getBlock ()
 
bool hasMoreBlocks ()
bool hasMoreBlocks ()
 
std::list< BYTE_ARRAYgetRecipients ()
 
BYTE_ARRAY getSender ()
std::list< BYTE_ARRAYgetRecipients ()
 
BYTE_ARRAY getSender ()
 
bool isIntentionallyAnonymous ()
bool isIntentionallyAnonymous ()
 

Detailed Description

The class used to decrypt or verify a message.

Use it in conjunction with ArmoredInputStream to process armored BaseX input.

Constructor & Destructor Documentation

- -

◆ MessageReader() [1/4]

+ +

◆ MessageReader() [1/4]

@@ -120,19 +129,12 @@

saltpack::MessageReader::MessageReader ( - std::istream &  - is, + std::istream & is, - const BYTE_ARRAY &  - recipientSecretkey  - - - - ) - + const BYTE_ARRAY & recipientSecretkey )

@@ -153,8 +155,8 @@

-

◆ MessageReader() [2/4]

+ +

◆ MessageReader() [2/4]

@@ -165,8 +167,7 @@

saltpack::MessageReader::MessageReader ( - std::istream &  - is) + std::istream & is) @@ -192,8 +193,8 @@

-

◆ MessageReader() [3/4]

+ +

◆ MessageReader() [3/4]

@@ -234,8 +228,8 @@

-

◆ MessageReader() [4/4]

+ +

◆ MessageReader() [4/4]

@@ -243,25 +237,17 @@

saltpack::MessageReader::MessageReader ( - std::istream &  - is, + std::istream & is, - const BYTE_ARRAY &  - recipientSecretkey, + const BYTE_ARRAY & recipientSecretkey, - const std::pair< BYTE_ARRAY, BYTE_ARRAY > &  - symmetricKey  - - - - ) - + const std::pair< BYTE_ARRAY, BYTE_ARRAY > & symmetricKey )

@@ -283,8 +269,8 @@

-

◆ ~MessageReader()

+ +

◆ ~MessageReader()

@@ -295,7 +281,7 @@

saltpack::MessageReader::~MessageReader ( - ) + ) @@ -310,8 +296,8 @@

Member Function Documentation

- -

◆ getBlock()

+ +

◆ getBlock()

@@ -319,7 +305,7 @@

BYTE_ARRAY saltpack::MessageReader::getBlock ( - ) + ) @@ -335,16 +321,16 @@

-

◆ getRecipients()

+ +

◆ getRecipients()

- + - +
std::list<BYTE_ARRAY> saltpack::MessageReader::getRecipients std::list< BYTE_ARRAY > saltpack::MessageReader::getRecipients ())
@@ -360,8 +346,8 @@

-

◆ getSender()

+ +

◆ getSender()

@@ -369,7 +355,7 @@

BYTE_ARRAY saltpack::MessageReader::getSender ( - ) + ) @@ -379,8 +365,8 @@

-

◆ hasMoreBlocks()

+ +

◆ hasMoreBlocks()

@@ -388,7 +374,7 @@

bool saltpack::MessageReader::hasMoreBlocks ( - ) + ) @@ -404,8 +390,8 @@

-

◆ isIntentionallyAnonymous()

+ +

◆ isIntentionallyAnonymous()

@@ -413,7 +399,7 @@

bool saltpack::MessageReader::isIntentionallyAnonymous ( - ) + ) @@ -435,9 +421,7 @@

diff --git a/docs/classsaltpack_1_1_message_reader.png b/docs/classsaltpack_1_1_message_reader.png index 799b339..ba1e3e9 100644 Binary files a/docs/classsaltpack_1_1_message_reader.png and b/docs/classsaltpack_1_1_message_reader.png differ diff --git a/docs/classsaltpack_1_1_message_writer-members.html b/docs/classsaltpack_1_1_message_writer-members.html index 142b5f0..03e6ae7 100644 --- a/docs/classsaltpack_1_1_message_writer-members.html +++ b/docs/classsaltpack_1_1_message_writer-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::MessageWriter Member List
+
saltpack::MessageWriter Member List

This is the complete list of members for saltpack::MessageWriter, including all inherited members.

- + - + - - - + + +
addBlock(BYTE_ARRAY data, bool final)saltpack::MessageWriter
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)saltpack::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)saltpack::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)saltpack::MessageWriter
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)saltpack::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)saltpack::MessageWriter
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)saltpack::MessageWriter
MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)saltpack::MessageWriter
~MessageWriter() overridesaltpack::MessageWriter
diff --git a/docs/classsaltpack_1_1_message_writer.html b/docs/classsaltpack_1_1_message_writer.html index bd9bbfd..19ebf3b 100644 --- a/docs/classsaltpack_1_1_message_writer.html +++ b/docs/classsaltpack_1_1_message_writer.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::MessageWriter Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

The class used to encrypt or sign a message. - More...

+ More...

#include <MessageWriter.h>

@@ -84,33 +93,33 @@
- - + - + - + - + - + - - - - - + + + + + - +

+

Public Member Functions

 MessageWriter (std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
 MessageWriter (std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
 
 MessageWriter (std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)
 MessageWriter (std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)
 
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)
 
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipients)
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipients)
 
 MessageWriter (std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)
 MessageWriter (std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)
 
 MessageWriter (std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)
 
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)
 
 ~MessageWriter () override
 MessageWriter (std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)
 
 MessageWriter (std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)
 
 ~MessageWriter () override
 
void addBlock (BYTE_ARRAY data, bool final)
void addBlock (BYTE_ARRAY data, bool final)
 

Detailed Description

The class used to encrypt or sign a message.

Use it in conjunction with ArmoredOutputStream to produce armored BaseX output.

Constructor & Destructor Documentation

- -

◆ MessageWriter() [1/7]

+ +

◆ MessageWriter() [1/7]

@@ -118,31 +127,22 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - BYTE_ARRAY  - senderSecretkey, + BYTE_ARRAY senderSecretkey, - const std::list< BYTE_ARRAY > &  - recipients, + const std::list< BYTE_ARRAY > & recipients, - bool  - visibleRecipients  - - - - ) - + bool visibleRecipients )

@@ -165,8 +165,8 @@

-

◆ MessageWriter() [2/7]

+ +

◆ MessageWriter() [2/7]

@@ -174,25 +174,17 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - BYTE_ARRAY  - senderSecretkey, + BYTE_ARRAY senderSecretkey, - const std::list< BYTE_ARRAY > &  - recipients  - - - - ) - + const std::list< BYTE_ARRAY > & recipients )

@@ -214,8 +206,8 @@

-

◆ MessageWriter() [3/7]

+ +

◆ MessageWriter() [3/7]

@@ -223,25 +215,17 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - const std::list< BYTE_ARRAY > &  - recipients, + const std::list< BYTE_ARRAY > & recipients, - bool  - visibleRecipients  - - - - ) - + bool visibleRecipients )

@@ -263,8 +247,8 @@

-

◆ MessageWriter() [4/7]

+ +

◆ MessageWriter() [4/7]

@@ -272,19 +256,12 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - const std::list< BYTE_ARRAY > &  - recipients  - - - - ) - + const std::list< BYTE_ARRAY > & recipients )

@@ -305,8 +282,8 @@

-

◆ MessageWriter() [5/7]

+ +

◆ MessageWriter() [5/7]

@@ -314,25 +291,17 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - const BYTE_ARRAY &  - senderSecretkey, + const BYTE_ARRAY & senderSecretkey, - bool  - detatchedSignature  - - - - ) - + bool detatchedSignature )

@@ -354,8 +323,8 @@

-

◆ MessageWriter() [6/7]

+ +

◆ MessageWriter() [6/7]

@@ -363,31 +332,22 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - const BYTE_ARRAY &  - senderSecretkey, + const BYTE_ARRAY & senderSecretkey, - const std::list< BYTE_ARRAY > &  - recipientsPublickeys, + const std::list< BYTE_ARRAY > & recipientsPublickeys, - const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &  - symmetricKeys  - - - - ) - + const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > & symmetricKeys )

@@ -410,8 +370,8 @@

-

◆ MessageWriter() [7/7]

+ +

◆ MessageWriter() [7/7]

@@ -419,25 +379,17 @@

saltpack::MessageWriter::MessageWriter ( - std::ostream &  - os, + std::ostream & os, - const std::list< BYTE_ARRAY > &  - recipientsPublickeys, + const std::list< BYTE_ARRAY > & recipientsPublickeys, - const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &  - symmetricKeys  - - - - ) - + const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > & symmetricKeys )

@@ -459,8 +411,8 @@

-

◆ ~MessageWriter()

+ +

◆ ~MessageWriter()

@@ -471,7 +423,7 @@

saltpack::MessageWriter::~MessageWriter ( - ) + ) @@ -486,8 +438,8 @@

Member Function Documentation

- -

◆ addBlock()

+ +

◆ addBlock()

@@ -495,19 +447,12 @@

void saltpack::MessageWriter::addBlock ( - BYTE_ARRAY  - data, + BYTE_ARRAY data, - bool  - final  - - - - ) - + bool final )

@@ -534,9 +479,7 @@

diff --git a/docs/classsaltpack_1_1_message_writer.png b/docs/classsaltpack_1_1_message_writer.png index 6f43048..f0ea7f0 100644 Binary files a/docs/classsaltpack_1_1_message_writer.png and b/docs/classsaltpack_1_1_message_writer.png differ diff --git a/docs/classsaltpack_1_1_saltpack_exception-members.html b/docs/classsaltpack_1_1_saltpack_exception-members.html index e9aa983..b534103 100644 --- a/docs/classsaltpack_1_1_saltpack_exception-members.html +++ b/docs/classsaltpack_1_1_saltpack_exception-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::SaltpackException Member List
+
saltpack::SaltpackException Member List

This is the complete list of members for saltpack::SaltpackException, including all inherited members.

- +
SaltpackException(const std::string &msg) (defined in saltpack::SaltpackException)saltpack::SaltpackExceptioninlineexplicit
what() const noexcept override (defined in saltpack::SaltpackException)saltpack::SaltpackExceptioninline
what() const noexcept override (defined in saltpack::SaltpackException)saltpack::SaltpackExceptioninline
~SaltpackException() noexcept override=default (defined in saltpack::SaltpackException)saltpack::SaltpackException
diff --git a/docs/classsaltpack_1_1_saltpack_exception.html b/docs/classsaltpack_1_1_saltpack_exception.html index ec806ba..0f8ce5a 100644 --- a/docs/classsaltpack_1_1_saltpack_exception.html +++ b/docs/classsaltpack_1_1_saltpack_exception.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::SaltpackException Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

Saltpack exception. - More...

+ More...

#include <SaltpackException.h>

@@ -84,14 +93,14 @@
- - - - +

+

Public Member Functions

+
 SaltpackException (const std::string &msg)
 
+
const char * what () const noexcept override
 
 

Detailed Description

Saltpack exception.

@@ -101,9 +110,7 @@
diff --git a/docs/classsaltpack_1_1_saltpack_exception.png b/docs/classsaltpack_1_1_saltpack_exception.png index f4be2c8..772f768 100644 Binary files a/docs/classsaltpack_1_1_saltpack_exception.png and b/docs/classsaltpack_1_1_saltpack_exception.png differ diff --git a/docs/classsaltpack_1_1_utils-members.html b/docs/classsaltpack_1_1_utils-members.html index 2a858a6..74df16d 100644 --- a/docs/classsaltpack_1_1_utils-members.html +++ b/docs/classsaltpack_1_1_utils-members.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Member List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack::Utils Member List
+
saltpack::Utils Member List

This is the complete list of members for saltpack::Utils, including all inherited members.

- + - + - + - + - +
baseXblockSize(const std::string &alphabet, int size)saltpack::Utilsstatic
baseXdecode(std::string data, const std::string &alphabet)saltpack::Utilsstatic
baseXdecode(std::string data, const std::string &alphabet)saltpack::Utilsstatic
baseXencode(const BYTE_ARRAY &data, std::string alphabet)saltpack::Utilsstatic
baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)saltpack::Utilsstatic
baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)saltpack::Utilsstatic
binToHex(BYTE_ARRAY bin)saltpack::Utilsstatic
deriveKeyFromPassword(unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)saltpack::Utilsstatic
deriveKeyFromPassword(unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)saltpack::Utilsstatic
derivePublickey(BYTE_ARRAY secretkey)saltpack::Utilsstatic
generateKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)saltpack::Utilsstatic
generateKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)saltpack::Utilsstatic
generateRandomBytes(size_t size)saltpack::Utilsstatic
generateSignKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)saltpack::Utilsstatic
generateSignKeypair(BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)saltpack::Utilsstatic
hexToBin(const std::string &hex)saltpack::Utilsstatic
diff --git a/docs/classsaltpack_1_1_utils.html b/docs/classsaltpack_1_1_utils.html index 5b34330..b9f6ed2 100644 --- a/docs/classsaltpack_1_1_utils.html +++ b/docs/classsaltpack_1_1_utils.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack::Utils Class Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

Utilities class. - More...

+ More...

#include <Utils.h>

- - + - + - + - + - + - + - + - + - + - + - +

+

Static Public Member Functions

static void generateKeypair (BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
static void generateKeypair (BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
 
static void generateSignKeypair (BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
static void generateSignKeypair (BYTE_ARRAY &publickey, BYTE_ARRAY &secretkey)
 
static BYTE_ARRAY derivePublickey (BYTE_ARRAY secretkey)
static BYTE_ARRAY derivePublickey (BYTE_ARRAY secretkey)
 
static int baseXblockSize (const std::string &alphabet, int size)
static int baseXblockSize (const std::string &alphabet, int size)
 
static std::string baseXencode (const BYTE_ARRAY &data, std::string alphabet)
static std::string baseXencode (const BYTE_ARRAY &data, std::string alphabet)
 
static std::string baseXencode (BYTE_ARRAY data, size_t size, std::string alphabet)
static std::string baseXencode (BYTE_ARRAY data, size_t size, std::string alphabet)
 
static BYTE_ARRAY baseXdecode (std::string data, const std::string &alphabet)
static BYTE_ARRAY baseXdecode (std::string data, const std::string &alphabet)
 
static BYTE_ARRAY hexToBin (const std::string &hex)
static BYTE_ARRAY hexToBin (const std::string &hex)
 
static std::string binToHex (BYTE_ARRAY bin)
static std::string binToHex (BYTE_ARRAY bin)
 
static BYTE_ARRAY generateRandomBytes (size_t size)
static BYTE_ARRAY generateRandomBytes (size_t size)
 
static BYTE_ARRAY deriveKeyFromPassword (unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)
static BYTE_ARRAY deriveKeyFromPassword (unsigned long long int keySize, const std::string &password, BYTE_ARRAY salt, unsigned long long int opsLimit, size_t memLimit)
 

Detailed Description

Utilities class.

Member Function Documentation

- -

◆ baseXblockSize()

+ +

◆ baseXblockSize()

@@ -118,19 +127,12 @@

static int saltpack::Utils::baseXblockSize ( - const std::string &  - alphabet, + const std::string & alphabet, - int  - size  - - - - ) - + int size ) @@ -151,8 +153,8 @@

-

◆ baseXdecode()

+ +

◆ baseXdecode()

@@ -163,19 +165,12 @@

static BYTE_ARRAY saltpack::Utils::baseXdecode ( - std::string  - data, + std::string data, - const std::string &  - alphabet  - - - - ) - + const std::string & alphabet ) @@ -202,8 +197,8 @@

-

◆ baseXencode() [1/2]

+ +

◆ baseXencode() [1/2]

@@ -214,25 +209,17 @@

static std::string saltpack::Utils::baseXencode ( - BYTE_ARRAY  - data, + BYTE_ARRAY data, - size_t  - size, + size_t size, - std::string  - alphabet  - - - - ) - + std::string alphabet ) @@ -254,8 +241,8 @@

-

◆ baseXencode() [2/2]

+ +

◆ baseXencode() [2/2]

@@ -266,19 +253,12 @@

static std::string saltpack::Utils::baseXencode ( - const BYTE_ARRAY &  - data, + const BYTE_ARRAY & data, - std::string  - alphabet  - - - - ) - + std::string alphabet ) @@ -299,8 +279,8 @@

-

◆ binToHex()

+ +

◆ binToHex()

@@ -311,8 +291,7 @@

static std::string saltpack::Utils::binToHex ( - BYTE_ARRAY  - bin) + BYTE_ARRAY bin) @@ -339,8 +318,8 @@

-

◆ deriveKeyFromPassword()

+ +

◆ deriveKeyFromPassword()

@@ -351,37 +330,27 @@

static BYTE_ARRAY saltpack::Utils::deriveKeyFromPassword ( - unsigned long long int  - keySize, + unsigned long long int keySize, - const std::string &  - password, + const std::string & password, - BYTE_ARRAY  - salt, + BYTE_ARRAY salt, - unsigned long long int  - opsLimit, + unsigned long long int opsLimit, - size_t  - memLimit  - - - - ) - + size_t memLimit ) @@ -411,8 +380,8 @@

-

◆ derivePublickey()

+ +

◆ derivePublickey()

@@ -423,8 +392,7 @@

static BYTE_ARRAY saltpack::Utils::derivePublickey ( - BYTE_ARRAY  - secretkey) + BYTE_ARRAY secretkey) @@ -451,8 +419,8 @@

-

◆ generateKeypair()

+ +

◆ generateKeypair()

@@ -463,19 +431,12 @@

static void saltpack::Utils::generateKeypair ( - BYTE_ARRAY &  - publickey, + BYTE_ARRAY & publickey, - BYTE_ARRAY &  - secretkey  - - - - ) - + BYTE_ARRAY & secretkey ) @@ -501,8 +462,8 @@

-

◆ generateRandomBytes()

+ +

◆ generateRandomBytes()

@@ -513,8 +474,7 @@

static BYTE_ARRAY saltpack::Utils::generateRandomBytes ( - size_t  - size) + size_t size) @@ -541,8 +501,8 @@

-

◆ generateSignKeypair()

+ +

◆ generateSignKeypair()

@@ -553,19 +513,12 @@

static void saltpack::Utils::generateSignKeypair ( - BYTE_ARRAY &  - publickey, + BYTE_ARRAY & publickey, - BYTE_ARRAY &  - secretkey  - - - - ) - + BYTE_ARRAY & secretkey ) @@ -591,8 +544,8 @@

-

◆ hexToBin()

+ +

◆ hexToBin()

@@ -603,8 +556,7 @@

static BYTE_ARRAY saltpack::Utils::hexToBin ( - const std::string &  - hex) + const std::string & hex) @@ -637,9 +589,7 @@

diff --git a/docs/clipboard.js b/docs/clipboard.js new file mode 100644 index 0000000..42c1fb0 --- /dev/null +++ b/docs/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/docs/cookie.js b/docs/cookie.js new file mode 100644 index 0000000..53ad21d --- /dev/null +++ b/docs/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/dir_d44c64559bbebec7f509842c48db8b23.html index 2f04c19..65fd70a 100644 --- a/docs/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include Directory Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
include Directory Reference
+
include Directory Reference
- + +

+

Directories

 saltpack
 
diff --git a/docs/dir_fcd7ab233e6b806d9d3492cec6c1a8bd.html b/docs/dir_fcd7ab233e6b806d9d3492cec6c1a8bd.html index 233c897..584b4df 100644 --- a/docs/dir_fcd7ab233e6b806d9d3492cec6c1a8bd.html +++ b/docs/dir_fcd7ab233e6b806d9d3492cec6c1a8bd.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack Directory Reference + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
saltpack Directory Reference
+
saltpack Directory Reference
+ + + + + + + + + + + + + + + + + + +

+Files

 ArmoredInputStream.h
 
 ArmoredOutputStream.h
 
 MessageReader.h
 
 MessageWriter.h
 
 modes.h
 
 SaltpackException.h
 
 types.h
 
 Utils.h
 
diff --git a/docs/doc.svg b/docs/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/docs/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/docd.svg b/docs/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docs/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/doxygen.css b/docs/doxygen.css index 5e35db3..7b7d851 100644 --- a/docs/doxygen.css +++ b/docs/doxygen.css @@ -1,29 +1,422 @@ -/* The standard CSS for doxygen 1.8.18 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +/* The standard CSS for doxygen 1.10.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; -} - .title { - font: 400 14px/28px Roboto,sans-serif; + font-family: var(--font-family-normal); + line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } +h1.groupheader { + font-size: 150%; +} + h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -46,27 +439,18 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; + text-shadow: 0 0 15px var(--glow-color); } dt { font-weight: bold; } -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } -th p.starttd, p.intertd, p.endtd { +th p.starttd, th p.intertd, th p.endtd { font-size: 100%; font-weight: 700; } @@ -103,59 +487,126 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; + font-size: 90%; + text-align: center; } -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; } -div.qindex, div.navpath { +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; width: 100%; line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); } -div.navtab { - margin-right: 15px; +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 } +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + /* @group Link Styling */ a { - color: #3D578C; + color: var(--page-link-color); font-weight: normal; text-decoration: none; } .contents a:visited { - color: #4665A2; + color: var(--page-visited-link-color); } a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); } -.contents a.qindexHL:visited { - color: #FFFFFF; +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); } a.el { @@ -166,12 +617,39 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; + color: var(--code-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } /* @end */ @@ -180,7 +658,17 @@ dl.el { } ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; } #side-nav ul { @@ -194,35 +682,70 @@ ul { .fragment { text-align: left; direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-x: auto; overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); } -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); } div.line { - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 13px; min-height: 13px; - line-height: 1.0; + line-height: 1.2; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ @@ -251,24 +774,40 @@ div.line:after { } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); } +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); white-space: pre; } -span.lineno a { - background-color: #D8D8D8; +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); } span.lineno a:hover { - background-color: #C8C8C8; + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); } .lineno { @@ -280,24 +819,6 @@ span.lineno a:hover { user-select: none; } -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - div.classindex ul { list-style: none; padding-left: 0; @@ -319,8 +840,7 @@ div.groupText { } body { - background-color: white; - color: black; + color: var(--page-foreground-color); margin: 0; } @@ -330,33 +850,15 @@ div.contents { margin-right: 8px; } -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - p.formulaDsp { text-align: center; } -img.formulaDsp { - +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; } img.formulaInl, img.inline { @@ -382,89 +884,74 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; } /* @group Code Colorization */ span.keyword { - color: #008000 + color: var(--code-keyword-color); } span.keywordtype { - color: #604020 + color: var(--code-type-keyword-color); } span.keywordflow { - color: #e08000 + color: var(--code-flow-keyword-color); } span.comment { - color: #800000 + color: var(--code-comment-color); } span.preprocessor { - color: #806020 + color: var(--code-preprocessor-color); } span.stringliteral { - color: #002080 + color: var(--code-string-literal-color); } span.charliteral { - color: #008080 + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); } span.vhdldigit { - color: #ff00ff + color: var(--code-vhdl-digit-color); } span.vhdlchar { - color: #000000 + color: var(--code-vhdl-char-color); } span.vhdlkeyword { - color: #700070 + color: var(--code-vhdl-keyword-color); } span.vhdllogic { - color: #ff0000 + color: var(--code-vhdl-logic-color); } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); margin: 0 24px 0 4px; padding: 0 12px 0 16px; } -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - /* @end */ -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - td.tiny { font-size: 75%; } @@ -472,18 +959,19 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid var(--table-cell-border-color); } th.dirtab { - background: #EBEFF6; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #4A6AAA; + border-top: 1px solid var(--separator-color); } hr.footer { @@ -511,14 +999,14 @@ table.memberdecls { } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; + background-color: var(--memdecl-background-color); border: none; margin: 4px; padding: 1px 0 0 8px; @@ -526,11 +1014,11 @@ table.memberdecls { .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: #555; + color: var(--memdecl-foreground-color); } .memSeparator { - border-bottom: 1px solid #DEE4F0; + border-bottom: 1px solid var(--memdecl-separator-color); line-height: 1px; margin: 0px; padding: 0px; @@ -545,7 +1033,7 @@ table.memberdecls { } .memTemplParams { - color: #4665A2; + color: var(--memdecl-template-color); white-space: nowrap; font-size: 80%; } @@ -558,15 +1046,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat: repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); line-height: 1.25; font-weight: 300; float:left; @@ -581,20 +1069,11 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #4665A2; + color: var(--memdef-template-color); font-weight: normal; margin-left: 9px; } -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .mempage { width: 100%; } @@ -613,7 +1092,7 @@ table.memberdecls { } .memitem.glow { - box-shadow: 0 0 15px cyan; + box-shadow: 0 0 15px var(--glow-color); } .memname { @@ -626,41 +1105,32 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 0px 6px 0px; - color: #253555; + color: var(--memdef-proto-text-color); font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - } .overload { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 10px 2px 10px; - background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFF; + background-color: var(--memdef-doc-background-color); /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -690,36 +1160,44 @@ dl.reflist dd { .paramtype { white-space: nowrap; + padding: 0px; + padding-bottom: 1px; } .paramname { - color: #602020; white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } + .paramname em { + color: var(--memdef-param-name-color); font-style: normal; + margin-right: 1px; } -.paramname code { - line-height: 14px; + +.paramname .paramdefval { + font-family: var(--font-family-monospace); } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; -} +} .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } - + .params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; -} - +} + .params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); vertical-align: top; } @@ -743,13 +1221,13 @@ span.mlabels { } span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; - color: white; + color: var(--label-foreground-color); margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -766,8 +1244,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); width: 100%; } @@ -803,9 +1281,14 @@ div.directory { border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + .directory tr.even { padding-left: 6px; - background-color: #F7F8FB; + background-color: var(--index-even-item-bg-color); } .directory img { @@ -823,11 +1306,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #3D578C; + color: var(--page-link-color); } .arrow { - color: #9CAFD4; + color: var(--nav-arrow-color); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -841,14 +1324,15 @@ div.directory { } .icon { - font-family: Arial, Helvetica; + font-family: var(--font-family-icon); + line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; - background-color: #728DC1; - color: white; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); text-align: center; border-radius: 4px; margin-left: 2px; @@ -865,8 +1349,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-open-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -876,8 +1359,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-closed-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -887,17 +1369,13 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('doc.png'); + background-image:var(--icon-doc-image); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } -table.directory { - font: 400 14px Roboto,sans-serif; -} - /* @end */ div.dynheader { @@ -912,7 +1390,7 @@ div.dynheader { address { font-style: normal; - color: #2A3D61; + color: var(--footer-foreground-color); } table.doxtable caption { @@ -926,28 +1404,23 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #A8B8D9; + border: 1px solid var(--memdef-border-color); border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } @@ -957,8 +1430,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); vertical-align: top; } @@ -967,14 +1440,13 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { margin-top: 0px; -} - +} + .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } @@ -984,22 +1456,18 @@ table.fieldtable { } .fieldtable th { - background-image:url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat:repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); font-size: 90%; - color: #253555; + color: var(--memdef-proto-text-color); padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); } @@ -1007,7 +1475,7 @@ table.fieldtable { top: 0px; left: 10px; height: 36px; - background-image: url('tab_b.png'); + background-image: var(--nav-gradient-image); z-index: 101; overflow: hidden; font-size: 13px; @@ -1016,13 +1484,13 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image:url('tab_b.png'); + background-image: var(--nav-gradient-image); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); overflow:hidden; margin:0px; padding:0px; @@ -1034,27 +1502,27 @@ table.fieldtable { float:left; padding-left:10px; padding-right:15px; - background-image:url('bc_s.png'); + background-image:var(--nav-breadcrumb-image); background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--nav-foreground-color); } .navpath li.navelem a { height:32px; display:block; - text-decoration: none; outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; } .navpath li.navelem a:hover { - color:#6884BD; + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } .navpath li.footer @@ -1066,7 +1534,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--footer-foreground-color); font-size: 8pt; } @@ -1078,7 +1546,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1093,7 +1561,7 @@ table.classindex margin-right: 3%; width: 94%; border: 0; - border-spacing: 0; + border-spacing: 0; padding: 0; } @@ -1111,11 +1579,11 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); + background-image: var(--header-gradient-image); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--header-background-color); margin: 0px; - border-bottom: 1px solid #C4CFE5; + border-bottom: 1px solid var(--header-separator-color); } div.headertitle @@ -1132,17 +1600,13 @@ dl { padding: 0 0 0 0; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +/* + dl.section { margin-left: 0px; padding-left: 0px; } -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - dl.note { margin-left: -7px; padding-left: 3px; @@ -1150,16 +1614,6 @@ dl.note { border-color: #D0C000; } -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - dl.warning, dl.attention { margin-left: -7px; padding-left: 3px; @@ -1167,16 +1621,6 @@ dl.warning, dl.attention { border-color: #FF0000; } -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - dl.pre, dl.post, dl.invariant { margin-left: -7px; padding-left: 3px; @@ -1184,16 +1628,6 @@ dl.pre, dl.post, dl.invariant { border-color: #00D000; } -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - dl.deprecated { margin-left: -7px; padding-left: 3px; @@ -1201,16 +1635,6 @@ dl.deprecated { border-color: #505050; } -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - dl.todo { margin-left: -7px; padding-left: 3px; @@ -1218,16 +1642,6 @@ dl.todo { border-color: #00C0E0; } -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - dl.test { margin-left: -7px; padding-left: 3px; @@ -1235,16 +1649,6 @@ dl.test { border-color: #3030E0; } -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - dl.bug { margin-left: -7px; padding-left: 3px; @@ -1252,20 +1656,108 @@ dl.bug { border-color: #C08050; } -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; } dl.section dd { - margin-bottom: 6px; + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); } +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + + +#projectrow +{ + height: 56px; +} #projectlogo { @@ -1273,34 +1765,38 @@ dl.section dd { vertical-align: bottom; border-collapse: separate; } - + #projectlogo img -{ +{ border: 0px none; } - + #projectalign { vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; + font-size: 200%; + font-family: var(--font-family-title); margin: 0px; padding: 2px 0px; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: 50% var(--font-family-title); margin: 0px; padding: 0px; } @@ -1310,7 +1806,8 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #5373B4; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); } .image @@ -1343,32 +1840,29 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #90A5CE; -} - dl.citelist { margin-bottom:50px; } dl.citelist dt { - color:#334975; + color:var(--citation-label-color); float:left; font-weight:bold; margin-right:10px; padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0; + margin:2px 0 2px 72px; padding:5px 0; } div.toc { padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1376,28 +1870,17 @@ div.toc { width: 200px; } -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); margin-top: 5px; padding-left: 10px; padding-top: 2px; } -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); border-bottom: 0 none; margin: 0; } @@ -1406,7 +1889,7 @@ div.toc ul { list-style: none outside none; border: medium none; padding: 0px; -} +} div.toc li.level1 { margin-left: 0px; @@ -1417,36 +1900,26 @@ div.toc li.level2 { } div.toc li.level3 { - margin-left: 30px; + margin-left: 15px; } div.toc li.level4 { - margin-left: 45px; -} - -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; + margin-left: 15px; } -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ } -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; +span.obfuscator { + display: none; } .inherit_header { font-weight: bold; - color: gray; + color: var(--inherit-header-color); cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; @@ -1478,11 +1951,12 @@ tr.heading h2 { #powerTip { cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; + box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; @@ -1493,7 +1967,7 @@ tr.heading h2 { } #powerTip div.ttdoc { - color: grey; + color: var(--tooltip-doc-color); font-style: italic; } @@ -1501,18 +1975,24 @@ tr.heading h2 { font-weight: bold; } +#powerTip a { + color: var(--tooltip-link-color); +} + #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { - color: #006318; + color: var(--tooltip-declaration-color); } #powerTip div { margin: 0px; padding: 0px; - font: 12px/16px Roboto,sans-serif; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1557,12 +2037,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; + border-top-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1585,13 +2065,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; + border-bottom-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1612,13 +2092,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; + border-left-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1628,13 +2108,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; + border-right-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1668,7 +2148,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } @@ -1676,8 +2156,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1695,36 +2175,51 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -.DocNodeRTL { - text-align: right; - direction: rtl; +tt, code, kbd, samp +{ + display: inline-block; } +/* @end */ -.DocNodeLTR { - text-align: left; - direction: ltr; +u { + text-decoration: underline; } -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; +details>summary { + list-style-type: none; } -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; +details > summary::-webkit-details-marker { + display: none; } -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -/* @end */ -u { - text-decoration: underline; +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); } diff --git a/docs/doxygen.svg b/docs/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/docs/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html new file mode 100644 index 0000000..2227a14 --- /dev/null +++ b/docs/doxygen_crawl.html @@ -0,0 +1,68 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/dynsections.js b/docs/dynsections.js index 3174bd7..8f49326 100644 --- a/docs/dynsections.js +++ b/docs/dynsections.js @@ -22,100 +22,173 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l
'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; /* @license-end */ diff --git a/docs/files.html b/docs/files.html index 3f20201..def03ca 100644 --- a/docs/files.html +++ b/docs/files.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: File List + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +

@@ -55,36 +58,40 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
File List
+
File List
Here is a list of all documented files with brief descriptions:
-
[detail level 123]
- - +
[detail level 123]
  include
  saltpack
+ + - + - + - + - +
  include
  saltpack
 ArmoredInputStream.h
 ArmoredOutputStream.h
 ArmoredOutputStream.h
 MessageReader.h
 MessageWriter.h
 MessageWriter.h
 modes.h
 SaltpackException.h
 SaltpackException.h
 types.h
 Utils.h
 Utils.h
diff --git a/docs/folderclosed.svg b/docs/folderclosed.svg new file mode 100644 index 0000000..b04bed2 --- /dev/null +++ b/docs/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/docs/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderopen.svg b/docs/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/docs/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/docs/folderopend.svg b/docs/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/docs/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/functions.html b/docs/functions.html index cdf8c5e..447943e 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Class Members + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
@@ -55,143 +58,94 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- a -

diff --git a/docs/functions_func.html b/docs/functions_func.html index 2367a8b..2fa3d88 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Class Members - Functions + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +

@@ -55,143 +58,94 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  - -

- a -

diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 43d4164..50cb3db 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Class Hierarchy + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +
@@ -55,39 +58,43 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class Hierarchy
+
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12]
- - +
[detail level 12]
 CBase
 Csaltpack::MessageReaderThe class used to decrypt or verify a message
+ + - + - + - + - + - +
 CBase
 Csaltpack::MessageReaderThe class used to decrypt or verify a message
 Csaltpack::MessageWriterThe class used to encrypt or sign a message
 Cexception
 Cstd::exception
 Csaltpack::SaltpackExceptionSaltpack exception
 Cistream
 Cstd::istream
 Csaltpack::ArmoredInputStreamInput Stream to parse BaseX armored content
 Costream
 Cstd::ostream
 Csaltpack::ArmoredOutputStreamOutput Stream to generate BaseX armored content
 Cstreambuf
 Cstd::streambuf
 Csaltpack::ArmoredInputStreamInput Stream to parse BaseX armored content
 Csaltpack::ArmoredOutputStreamOutput Stream to generate BaseX armored content
 Csaltpack::ArmoredOutputStreamOutput Stream to generate BaseX armored content
 Csaltpack::UtilsUtilities class
diff --git a/docs/index.html b/docs/index.html index 4d98e2e..c8d6e0c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: libsaltpack + + @@ -19,8 +21,8 @@
- - + @@ -29,21 +31,22 @@
+
libsaltpack
- + +/* @license-end */ +

@@ -55,14 +58,20 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
-
libsaltpack
+
+
libsaltpack

A C++ implementation of saltpack.

@@ -74,7 +83,7 @@

Dependencies

Code repository

libsaltpack Github repository

Copyright and license

-
Copyright 2016-2020 Luca Zanconato (<luca.zanconato@naes.co>)
+
Copyright 2016-2024 Luca Zanconato (<github.com/gherynos>)
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this work except in compliance with the License.
@@ -88,12 +97,11 @@ 

Copyright and license

See the License for the specific language governing permissions and limitations under the License.
+
diff --git a/docs/jquery.js b/docs/jquery.js index 103c32d..1dffb65 100644 --- a/docs/jquery.js +++ b/docs/jquery.js @@ -1,12 +1,11 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0'+ + for (let i in data.children) { + let url; + const link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ data.children[i].text+''+ makeTree(data.children[i],relPath)+'
  • '; } @@ -36,15 +43,91 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { } return result; } - - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + let searchBoxHtml; if (searchEnabled) { if (serverSide) { - $('#main-menu').append('
  • '); + searchBoxHtml='
    '+ + '
    '+ + '
     '+ + ''+ + '
    '+ + '
    '+ + '
    '+ + '
    '; } else { - $('#main-menu').append('
  • '); + searchBoxHtml='
    '+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
    '; + } + } + + $('#main-nav').before('
    '+ + ''+ + ''+ + '
    '); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; + if ($mainMenuState.length) { + const initResizableIfExists = function() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = () => $menu.css('display', 'block'); + $menu.hide().slideDown(options); + } else { + options['complete'] = () => $menu.css('display', 'none'); + $menu.show().slideUp(options); + } + }); + // set default menu visibility + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); } $('#main-menu').smartmenus(); } diff --git a/docs/minus.svg b/docs/minus.svg new file mode 100644 index 0000000..f70d0c1 --- /dev/null +++ b/docs/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/minusd.svg b/docs/minusd.svg new file mode 100644 index 0000000..5f8e879 --- /dev/null +++ b/docs/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/modes_8h_source.html b/docs/modes_8h_source.html index 5bf75a3..1b06ee8 100644 --- a/docs/modes_8h_source.html +++ b/docs/modes_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/modes.h Source File + + @@ -19,8 +21,8 @@
    - - + @@ -29,22 +31,28 @@
    +
    libsaltpack
    - + +/* @license-end */ + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    modes.h
    +
    modes.h
    -
    1 /*
    -
    2  * Copyright 2016 Luca Zanconato
    -
    3  *
    -
    4  * Licensed under the Apache License, Version 2.0 (the "License");
    -
    5  * you may not use this file except in compliance with the License.
    -
    6  * You may obtain a copy of the License at
    -
    7  *
    -
    8  * http://www.apache.org/licenses/LICENSE-2.0
    -
    9  *
    -
    10  * Unless required by applicable law or agreed to in writing, software
    -
    11  * distributed under the License is distributed on an "AS IS" BASIS,
    -
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -
    13  * See the License for the specific language governing permissions and
    -
    14  * limitations under the License.
    -
    15  */
    -
    16 
    -
    17 #ifndef SALTPACK_MODES_H
    -
    18 #define SALTPACK_MODES_H
    -
    19 
    -
    20 namespace saltpack {
    -
    21 
    -
    22  const int MODE_ENCRYPTION = 0;
    -
    24  const int MODE_ATTACHED_SIGNATURE = 1;
    -
    26  const int MODE_DETACHED_SIGNATURE = 2;
    -
    28  const int MODE_SIGNCRYPTION = 3;
    -
    29 }
    -
    30 
    -
    31 #endif //SALTPACK_MODES_H
    +
    1/*
    +
    2 * Copyright 2016 Luca Zanconato
    +
    3 *
    +
    4 * Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 * you may not use this file except in compliance with the License.
    +
    6 * You may obtain a copy of the License at
    +
    7 *
    +
    8 * http://www.apache.org/licenses/LICENSE-2.0
    +
    9 *
    +
    10 * Unless required by applicable law or agreed to in writing, software
    +
    11 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 * See the License for the specific language governing permissions and
    +
    14 * limitations under the License.
    +
    15 */
    +
    16
    +
    17#ifndef SALTPACK_MODES_H
    +
    18#define SALTPACK_MODES_H
    +
    19
    +
    20namespace saltpack {
    +
    21
    +
    22 const int MODE_ENCRYPTION = 0;
    + + +
    28 const int MODE_SIGNCRYPTION = 3;
    +
    29}
    +
    30
    +
    31#endif //SALTPACK_MODES_H
    +
    The saltpack library namespace.
    Definition ArmoredInputStream.h:24
    +
    const int MODE_DETACHED_SIGNATURE
    Definition modes.h:26
    +
    const int MODE_SIGNCRYPTION
    Definition modes.h:28
    +
    const int MODE_ATTACHED_SIGNATURE
    Definition modes.h:24
    +
    const int MODE_ENCRYPTION
    Definition modes.h:22
    -
    const int MODE_SIGNCRYPTION
    Definition: modes.h:28
    -
    const int MODE_DETACHED_SIGNATURE
    Definition: modes.h:26
    -
    const int MODE_ATTACHED_SIGNATURE
    Definition: modes.h:24
    -
    The saltpack library namespace.
    Definition: ArmoredInputStream.h:24
    -
    const int MODE_ENCRYPTION
    Definition: modes.h:22
    diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html index fbbd9d4..5026dbd 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Namespace Members + + @@ -19,8 +21,8 @@
    - - + @@ -29,21 +31,22 @@
    +
    libsaltpack
    - + +/* @license-end */ +
    @@ -55,38 +58,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented namespace members with links to the namespaces they belong to:
    diff --git a/docs/namespacemembers_type.html b/docs/namespacemembers_type.html index a98a1e6..bbc0023 100644 --- a/docs/namespacemembers_type.html +++ b/docs/namespacemembers_type.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Namespace Members + + @@ -19,8 +21,8 @@
    - - + @@ -29,21 +31,22 @@
    +
    libsaltpack
    - + +/* @license-end */ +
    @@ -55,26 +58,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
      -
    • BYTE -: saltpack -
    • -
    • BYTE_ARRAY -: saltpack -
    • +
      Here is a list of all documented namespace typedefs with links to the namespaces they belong to:
    diff --git a/docs/namespacemembers_vars.html b/docs/namespacemembers_vars.html index 5b73d6f..a501358 100644 --- a/docs/namespacemembers_vars.html +++ b/docs/namespacemembers_vars.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Namespace Members + + @@ -19,8 +21,8 @@
    - - + @@ -29,21 +31,22 @@
    +
    libsaltpack
    - + +/* @license-end */ +
    @@ -55,32 +58,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
      -
    • MODE_ATTACHED_SIGNATURE -: saltpack -
    • -
    • MODE_DETACHED_SIGNATURE -: saltpack -
    • -
    • MODE_ENCRYPTION -: saltpack -
    • -
    • MODE_SIGNCRYPTION -: saltpack -
    • +
      Here is a list of all documented namespace variables with links to the namespaces they belong to:
    diff --git a/docs/namespaces.html b/docs/namespaces.html index 01e2c75..32c14b1 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: Namespace List + + @@ -19,8 +21,8 @@
    - - + @@ -29,21 +31,22 @@
    +
    libsaltpack
    - + +/* @license-end */ +

    @@ -55,27 +58,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Namespace List
    +
    Namespace List
    Here is a list of all documented namespaces with brief descriptions:
    - - +
    [detail level 12]
     NsaltpackThe saltpack library namespace
    + + + + + + +
     NsaltpackThe saltpack library namespace
     CArmoredInputStreamInput Stream to parse BaseX armored content
     CArmoredOutputStreamOutput Stream to generate BaseX armored content
     CMessageReaderThe class used to decrypt or verify a message
     CMessageWriterThe class used to encrypt or sign a message
     CSaltpackExceptionSaltpack exception
     CUtilsUtilities class
    diff --git a/docs/namespacesaltpack.html b/docs/namespacesaltpack.html index 94c89ac..d5ff02c 100644 --- a/docs/namespacesaltpack.html +++ b/docs/namespacesaltpack.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: saltpack Namespace Reference + + @@ -19,8 +21,8 @@
    - - + @@ -29,21 +31,22 @@
    +
    libsaltpack
    - + +/* @license-end */ +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -65,15 +75,14 @@ Classes | Typedefs | Variables
    -
    -
    saltpack Namespace Reference
    +
    saltpack Namespace Reference

    The saltpack library namespace. -More...

    +More...

    - @@ -94,35 +103,35 @@

    +

    Classes

    class  ArmoredInputStream
     Input Stream to parse BaseX armored content. More...
     Utilities class. More...
     
    - - + - +

    +

    Typedefs

    typedef unsigned char BYTE
    typedef unsigned char BYTE
     
    typedef std::vector< BYTEBYTE_ARRAY
    typedef std::vector< BYTEBYTE_ARRAY
     
    - - + - + - + - +

    +

    Variables

    const int MODE_ENCRYPTION = 0
    const int MODE_ENCRYPTION = 0
     
    const int MODE_ATTACHED_SIGNATURE = 1
    const int MODE_ATTACHED_SIGNATURE = 1
     
    const int MODE_DETACHED_SIGNATURE = 2
    const int MODE_DETACHED_SIGNATURE = 2
     
    const int MODE_SIGNCRYPTION = 3
    const int MODE_SIGNCRYPTION = 3
     

    Detailed Description

    The saltpack library namespace.

    Typedef Documentation

    - -

    ◆ BYTE

    + +

    ◆ BYTE

    - +
    typedef unsigned char saltpack::BYTEtypedef unsigned char saltpack::BYTE
    @@ -130,14 +139,14 @@

    -

    ◆ BYTE_ARRAY

    + +

    ◆ BYTE_ARRAY

    - +
    typedef std::vector<BYTE> saltpack::BYTE_ARRAYtypedef std::vector<BYTE> saltpack::BYTE_ARRAY
    @@ -146,8 +155,8 @@

    Variable Documentation

    - -

    ◆ MODE_ATTACHED_SIGNATURE

    + +

    ◆ MODE_ATTACHED_SIGNATURE

    @@ -161,8 +170,8 @@

    -

    ◆ MODE_DETACHED_SIGNATURE

    + +

    ◆ MODE_DETACHED_SIGNATURE

    @@ -176,8 +185,8 @@

    -

    ◆ MODE_ENCRYPTION

    + +

    ◆ MODE_ENCRYPTION

    @@ -191,8 +200,8 @@

    -

    ◆ MODE_SIGNCRYPTION

    + +

    ◆ MODE_SIGNCRYPTION

    @@ -209,9 +218,7 @@

    diff --git a/docs/nav_fd.png b/docs/nav_fd.png new file mode 100644 index 0000000..032fbdd Binary files /dev/null and b/docs/nav_fd.png differ diff --git a/docs/nav_hd.png b/docs/nav_hd.png new file mode 100644 index 0000000..de80f18 Binary files /dev/null and b/docs/nav_hd.png differ diff --git a/docs/plus.svg b/docs/plus.svg new file mode 100644 index 0000000..0752016 --- /dev/null +++ b/docs/plus.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/plusd.svg b/docs/plusd.svg new file mode 100644 index 0000000..0c65bfe --- /dev/null +++ b/docs/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 9dd46c7..3d21046 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,9 +1,9 @@ var searchData= [ - ['basexblocksize_3',['baseXblockSize',['../classsaltpack_1_1_utils.html#a8aa4a0da6494260da514fd831ca73547',1,'saltpack::Utils']]], - ['basexdecode_4',['baseXdecode',['../classsaltpack_1_1_utils.html#a663180baf61b9f360766b31acd75f926',1,'saltpack::Utils']]], - ['basexencode_5',['baseXencode',['../classsaltpack_1_1_utils.html#ab1009492a9a1655f876106ad7cc27d5c',1,'saltpack::Utils::baseXencode(const BYTE_ARRAY &data, std::string alphabet)'],['../classsaltpack_1_1_utils.html#a7c5e8a6a49a4dcfab9538975c1c2ebc9',1,'saltpack::Utils::baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)']]], - ['bintohex_6',['binToHex',['../classsaltpack_1_1_utils.html#a306dc5be4c8b8e22d2f9545d0ccc8c68',1,'saltpack::Utils']]], - ['byte_7',['BYTE',['../namespacesaltpack.html#ac38b69d1b2c9f70a1610ea7b62189a61',1,'saltpack']]], - ['byte_5farray_8',['BYTE_ARRAY',['../namespacesaltpack.html#aa6a64ac2677862691c6ac98d9956cfe7',1,'saltpack']]] + ['basexblocksize_0',['baseXblockSize',['../classsaltpack_1_1_utils.html#a8aa4a0da6494260da514fd831ca73547',1,'saltpack::Utils']]], + ['basexdecode_1',['baseXdecode',['../classsaltpack_1_1_utils.html#a663180baf61b9f360766b31acd75f926',1,'saltpack::Utils']]], + ['basexencode_2',['baseXencode',['../classsaltpack_1_1_utils.html#ab1009492a9a1655f876106ad7cc27d5c',1,'saltpack::Utils::baseXencode(const BYTE_ARRAY &data, std::string alphabet)'],['../classsaltpack_1_1_utils.html#a7c5e8a6a49a4dcfab9538975c1c2ebc9',1,'saltpack::Utils::baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)']]], + ['bintohex_3',['binToHex',['../classsaltpack_1_1_utils.html#a306dc5be4c8b8e22d2f9545d0ccc8c68',1,'saltpack::Utils']]], + ['byte_4',['BYTE',['../namespacesaltpack.html#ac38b69d1b2c9f70a1610ea7b62189a61',1,'saltpack']]], + ['byte_5farray_5',['BYTE_ARRAY',['../namespacesaltpack.html#aa6a64ac2677862691c6ac98d9956cfe7',1,'saltpack']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 05d54d6..43f428b 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['derivekeyfrompassword_9',['deriveKeyFromPassword',['../classsaltpack_1_1_utils.html#a37f0b47c5a44e899a7226dd256eb3baf',1,'saltpack::Utils']]], - ['derivepublickey_10',['derivePublickey',['../classsaltpack_1_1_utils.html#aeec01519e769fa9a592a373c836b6131',1,'saltpack::Utils']]] + ['derivekeyfrompassword_0',['deriveKeyFromPassword',['../classsaltpack_1_1_utils.html#a37f0b47c5a44e899a7226dd256eb3baf',1,'saltpack::Utils']]], + ['derivepublickey_1',['derivePublickey',['../classsaltpack_1_1_utils.html#aeec01519e769fa9a592a373c836b6131',1,'saltpack::Utils']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index f8c57d1..2e20fed 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['finalise_11',['finalise',['../classsaltpack_1_1_armored_output_stream.html#a9bbcb9488a1c7cd02271bd7631b17157',1,'saltpack::ArmoredOutputStream']]] + ['finalise_0',['finalise',['../classsaltpack_1_1_armored_output_stream.html#a9bbcb9488a1c7cd02271bd7631b17157',1,'saltpack::ArmoredOutputStream']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 4b81ba4..5b4f8da 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,9 +1,9 @@ var searchData= [ - ['generatekeypair_12',['generateKeypair',['../classsaltpack_1_1_utils.html#a8e602336c306fdcaf0caaccc75c76eae',1,'saltpack::Utils']]], - ['generaterandombytes_13',['generateRandomBytes',['../classsaltpack_1_1_utils.html#a17034c68f90f4a36613fccb80b616280',1,'saltpack::Utils']]], - ['generatesignkeypair_14',['generateSignKeypair',['../classsaltpack_1_1_utils.html#a2909313aeee70dbf866cccad1e8e5113',1,'saltpack::Utils']]], - ['getblock_15',['getBlock',['../classsaltpack_1_1_message_reader.html#aadcb674f57e6abbfd0bdbcea6d2b723a',1,'saltpack::MessageReader']]], - ['getrecipients_16',['getRecipients',['../classsaltpack_1_1_message_reader.html#a31b42c2bf188cbcea92c9eadb6f2998d',1,'saltpack::MessageReader']]], - ['getsender_17',['getSender',['../classsaltpack_1_1_message_reader.html#a5da11d296b77288910fa25342e6cca7a',1,'saltpack::MessageReader']]] + ['generatekeypair_0',['generateKeypair',['../classsaltpack_1_1_utils.html#a8e602336c306fdcaf0caaccc75c76eae',1,'saltpack::Utils']]], + ['generaterandombytes_1',['generateRandomBytes',['../classsaltpack_1_1_utils.html#a17034c68f90f4a36613fccb80b616280',1,'saltpack::Utils']]], + ['generatesignkeypair_2',['generateSignKeypair',['../classsaltpack_1_1_utils.html#a2909313aeee70dbf866cccad1e8e5113',1,'saltpack::Utils']]], + ['getblock_3',['getBlock',['../classsaltpack_1_1_message_reader.html#aadcb674f57e6abbfd0bdbcea6d2b723a',1,'saltpack::MessageReader']]], + ['getrecipients_4',['getRecipients',['../classsaltpack_1_1_message_reader.html#a07034d93b8036aacfffcc1329b4f3b5c',1,'saltpack::MessageReader']]], + ['getsender_5',['getSender',['../classsaltpack_1_1_message_reader.html#a5da11d296b77288910fa25342e6cca7a',1,'saltpack::MessageReader']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index dfeb84c..a34cfe9 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['hasmoreblocks_18',['hasMoreBlocks',['../classsaltpack_1_1_message_reader.html#abbe326250befa18aa4b43906cec8b8a0',1,'saltpack::MessageReader']]], - ['hextobin_19',['hexToBin',['../classsaltpack_1_1_utils.html#a63c01b0bc7018f37538bd9640b372a43',1,'saltpack::Utils']]] + ['hasmoreblocks_0',['hasMoreBlocks',['../classsaltpack_1_1_message_reader.html#abbe326250befa18aa4b43906cec8b8a0',1,'saltpack::MessageReader']]], + ['hextobin_1',['hexToBin',['../classsaltpack_1_1_utils.html#a63c01b0bc7018f37538bd9640b372a43',1,'saltpack::Utils']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index ad32559..939e0c8 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['isintentionallyanonymous_20',['isIntentionallyAnonymous',['../classsaltpack_1_1_message_reader.html#a26722f4dd635c950069fc2561b250e8c',1,'saltpack::MessageReader']]] + ['isintentionallyanonymous_0',['isIntentionallyAnonymous',['../classsaltpack_1_1_message_reader.html#a26722f4dd635c950069fc2561b250e8c',1,'saltpack::MessageReader']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index fa30746..322a015 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['libsaltpack_21',['libsaltpack',['../index.html',1,'']]] + ['libsaltpack_0',['libsaltpack',['../index.html',1,'']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index edb3cfa..6304d4c 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,9 +1,9 @@ var searchData= [ - ['messagereader_22',['MessageReader',['../classsaltpack_1_1_message_reader.html',1,'saltpack::MessageReader'],['../classsaltpack_1_1_message_reader.html#a26511be72bfa1cf9ba6c2859e5fb444f',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)'],['../classsaltpack_1_1_message_reader.html#a107a3e773c53dc600908df0133259d1b',1,'saltpack::MessageReader::MessageReader(std::istream &is)'],['../classsaltpack_1_1_message_reader.html#ab2014971f1589d75b2289cb05eb83bac',1,'saltpack::MessageReader::MessageReader(std::istream &is, std::istream &messageStream)'],['../classsaltpack_1_1_message_reader.html#ad7a94e134d02811dc0463f63e56e75ea',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)']]], - ['messagewriter_23',['MessageWriter',['../classsaltpack_1_1_message_writer.html',1,'saltpack::MessageWriter'],['../classsaltpack_1_1_message_writer.html#a81493fb95570720d494ecdc64da511a1',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ae1213c820a5c6afd206479919d7e6ce8',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#a96a702a03b4bfcd7c8ea83804e042fe6',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ad1b273eeeb9d4e402037c5941f0b5ef3',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#af9013c807c61e37386221729a0631161',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)'],['../classsaltpack_1_1_message_writer.html#a840d4870101f9a29a243ea08ecd74539',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)'],['../classsaltpack_1_1_message_writer.html#a357ca5a91334f9f0921a0ec7c3354d6c',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)']]], - ['mode_5fattached_5fsignature_24',['MODE_ATTACHED_SIGNATURE',['../namespacesaltpack.html#a6e4122806bbc378c138f7ce5b4d86d60',1,'saltpack']]], - ['mode_5fdetached_5fsignature_25',['MODE_DETACHED_SIGNATURE',['../namespacesaltpack.html#a268f633c3b3d34720311a55c102d08fa',1,'saltpack']]], - ['mode_5fencryption_26',['MODE_ENCRYPTION',['../namespacesaltpack.html#aa7ea0954451cc0c70810f0a2e3601149',1,'saltpack']]], - ['mode_5fsigncryption_27',['MODE_SIGNCRYPTION',['../namespacesaltpack.html#a3ddddb4f080fef1b37fc6677f885e47c',1,'saltpack']]] + ['messagereader_0',['MessageReader',['../classsaltpack_1_1_message_reader.html',1,'saltpack::MessageReader'],['../classsaltpack_1_1_message_reader.html#a26511be72bfa1cf9ba6c2859e5fb444f',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)'],['../classsaltpack_1_1_message_reader.html#a107a3e773c53dc600908df0133259d1b',1,'saltpack::MessageReader::MessageReader(std::istream &is)'],['../classsaltpack_1_1_message_reader.html#ab2014971f1589d75b2289cb05eb83bac',1,'saltpack::MessageReader::MessageReader(std::istream &is, std::istream &messageStream)'],['../classsaltpack_1_1_message_reader.html#ad7a94e134d02811dc0463f63e56e75ea',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)']]], + ['messagewriter_1',['MessageWriter',['../classsaltpack_1_1_message_writer.html',1,'saltpack::MessageWriter'],['../classsaltpack_1_1_message_writer.html#a81493fb95570720d494ecdc64da511a1',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ae1213c820a5c6afd206479919d7e6ce8',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#a96a702a03b4bfcd7c8ea83804e042fe6',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ad1b273eeeb9d4e402037c5941f0b5ef3',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#af9013c807c61e37386221729a0631161',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)'],['../classsaltpack_1_1_message_writer.html#a1c4fc2b582efafdb09d738740a0aab8a',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)'],['../classsaltpack_1_1_message_writer.html#adf5fe558c6cd3d75ad530f2eba0c2003',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)']]], + ['mode_5fattached_5fsignature_2',['MODE_ATTACHED_SIGNATURE',['../namespacesaltpack.html#a6e4122806bbc378c138f7ce5b4d86d60',1,'saltpack']]], + ['mode_5fdetached_5fsignature_3',['MODE_DETACHED_SIGNATURE',['../namespacesaltpack.html#a268f633c3b3d34720311a55c102d08fa',1,'saltpack']]], + ['mode_5fencryption_4',['MODE_ENCRYPTION',['../namespacesaltpack.html#aa7ea0954451cc0c70810f0a2e3601149',1,'saltpack']]], + ['mode_5fsigncryption_5',['MODE_SIGNCRYPTION',['../namespacesaltpack.html#a3ddddb4f080fef1b37fc6677f885e47c',1,'saltpack']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 2626f95..d3f55e4 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['overflow_28',['overflow',['../classsaltpack_1_1_armored_output_stream.html#a82c6d749034e55b9432ae2e5f7e1eee0',1,'saltpack::ArmoredOutputStream']]] + ['overflow_0',['overflow',['../classsaltpack_1_1_armored_output_stream.html#aa9e996628cabb155154bb0a55dad5acc',1,'saltpack::ArmoredOutputStream']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index f28934e..9f722a3 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,5 +1,5 @@ var searchData= [ - ['saltpack_29',['saltpack',['../namespacesaltpack.html',1,'']]], - ['saltpackexception_30',['SaltpackException',['../classsaltpack_1_1_saltpack_exception.html',1,'saltpack']]] + ['saltpack_0',['saltpack',['../namespacesaltpack.html',1,'']]], + ['saltpackexception_1',['SaltpackException',['../classsaltpack_1_1_saltpack_exception.html',1,'saltpack']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 135ad32..af060fc 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,5 +1,5 @@ var searchData= [ - ['underflow_31',['underflow',['../classsaltpack_1_1_armored_input_stream.html#a0c6521124bcf2d7f0963ff16971b63dd',1,'saltpack::ArmoredInputStream']]], - ['utils_32',['Utils',['../classsaltpack_1_1_utils.html',1,'saltpack']]] + ['underflow_0',['underflow',['../classsaltpack_1_1_armored_input_stream.html#a0c6521124bcf2d7f0963ff16971b63dd',1,'saltpack::ArmoredInputStream']]], + ['utils_1',['Utils',['../classsaltpack_1_1_utils.html',1,'saltpack']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 305ab94..007b22c 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,7 +1,7 @@ var searchData= [ - ['_7earmoredinputstream_33',['~ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#a007c90b24096f1be452d4eff68455b6e',1,'saltpack::ArmoredInputStream']]], - ['_7earmoredoutputstream_34',['~ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#ac26b4c0da23cb21a581b695f51fa6cff',1,'saltpack::ArmoredOutputStream']]], - ['_7emessagereader_35',['~MessageReader',['../classsaltpack_1_1_message_reader.html#aada202a44a98f1d4ac37b029b0cf931f',1,'saltpack::MessageReader']]], - ['_7emessagewriter_36',['~MessageWriter',['../classsaltpack_1_1_message_writer.html#ad505f3f3a7417fb25b46a2e47f65103e',1,'saltpack::MessageWriter']]] + ['_7earmoredinputstream_0',['~ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#a007c90b24096f1be452d4eff68455b6e',1,'saltpack::ArmoredInputStream']]], + ['_7earmoredoutputstream_1',['~ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#ac26b4c0da23cb21a581b695f51fa6cff',1,'saltpack::ArmoredOutputStream']]], + ['_7emessagereader_2',['~MessageReader',['../classsaltpack_1_1_message_reader.html#aada202a44a98f1d4ac37b029b0cf931f',1,'saltpack::MessageReader']]], + ['_7emessagewriter_3',['~MessageWriter',['../classsaltpack_1_1_message_writer.html#ad505f3f3a7417fb25b46a2e47f65103e',1,'saltpack::MessageWriter']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index e327cfc..0803bda 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['armoredinputstream_37',['ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html',1,'saltpack']]], - ['armoredoutputstream_38',['ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html',1,'saltpack']]] + ['armoredinputstream_0',['ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html',1,'saltpack']]], + ['armoredoutputstream_1',['ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html',1,'saltpack']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index 3250975..53a1f5b 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['messagereader_39',['MessageReader',['../classsaltpack_1_1_message_reader.html',1,'saltpack']]], - ['messagewriter_40',['MessageWriter',['../classsaltpack_1_1_message_writer.html',1,'saltpack']]] + ['messagereader_0',['MessageReader',['../classsaltpack_1_1_message_reader.html',1,'saltpack']]], + ['messagewriter_1',['MessageWriter',['../classsaltpack_1_1_message_writer.html',1,'saltpack']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index 7193399..6f735f2 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['saltpackexception_41',['SaltpackException',['../classsaltpack_1_1_saltpack_exception.html',1,'saltpack']]] + ['saltpackexception_0',['SaltpackException',['../classsaltpack_1_1_saltpack_exception.html',1,'saltpack']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 12c602f..df762be 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['utils_42',['Utils',['../classsaltpack_1_1_utils.html',1,'saltpack']]] + ['utils_0',['Utils',['../classsaltpack_1_1_utils.html',1,'saltpack']]] ]; diff --git a/docs/search/close.svg b/docs/search/close.svg new file mode 100644 index 0000000..337d6cc --- /dev/null +++ b/docs/search/close.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 1e4fdda..297fde5 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['addblock_44',['addBlock',['../classsaltpack_1_1_message_writer.html#ab418c893e0a4eeb4ab930eab712f7dd8',1,'saltpack::MessageWriter']]], - ['armoredinputstream_45',['ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#ac85f061f0ce25bf165efde7ced07967d',1,'saltpack::ArmoredInputStream::ArmoredInputStream(std::istream &in, const std::string &app)'],['../classsaltpack_1_1_armored_input_stream.html#af24677e6745abd4bc08eabe154b9072b',1,'saltpack::ArmoredInputStream::ArmoredInputStream(std::istream &in)']]], - ['armoredoutputstream_46',['ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#a644b243d043c87263f3859ebd1b02ffd',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)'],['../classsaltpack_1_1_armored_output_stream.html#a88b842a465925a8ab45e4f5076faf76f',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, const std::string &app, int mode)'],['../classsaltpack_1_1_armored_output_stream.html#a57854062721350ad8b917f29d6e9c62f',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)'],['../classsaltpack_1_1_armored_output_stream.html#a3151ac88368a3d9a082fd5b16eb7cf7d',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, int mode)']]] + ['addblock_0',['addBlock',['../classsaltpack_1_1_message_writer.html#ab418c893e0a4eeb4ab930eab712f7dd8',1,'saltpack::MessageWriter']]], + ['armoredinputstream_1',['ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#ac85f061f0ce25bf165efde7ced07967d',1,'saltpack::ArmoredInputStream::ArmoredInputStream(std::istream &in, const std::string &app)'],['../classsaltpack_1_1_armored_input_stream.html#af24677e6745abd4bc08eabe154b9072b',1,'saltpack::ArmoredInputStream::ArmoredInputStream(std::istream &in)']]], + ['armoredoutputstream_2',['ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#a644b243d043c87263f3859ebd1b02ffd',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, const std::string &app, int mode, int lettersInWords, int wordsInPhrase)'],['../classsaltpack_1_1_armored_output_stream.html#a88b842a465925a8ab45e4f5076faf76f',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, const std::string &app, int mode)'],['../classsaltpack_1_1_armored_output_stream.html#a57854062721350ad8b917f29d6e9c62f',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, int mode, int lettersInWords, int wordsInPhrase)'],['../classsaltpack_1_1_armored_output_stream.html#a3151ac88368a3d9a082fd5b16eb7cf7d',1,'saltpack::ArmoredOutputStream::ArmoredOutputStream(std::ostream &out, int mode)']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index 4b35e82..8660c18 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,7 +1,7 @@ var searchData= [ - ['basexblocksize_47',['baseXblockSize',['../classsaltpack_1_1_utils.html#a8aa4a0da6494260da514fd831ca73547',1,'saltpack::Utils']]], - ['basexdecode_48',['baseXdecode',['../classsaltpack_1_1_utils.html#a663180baf61b9f360766b31acd75f926',1,'saltpack::Utils']]], - ['basexencode_49',['baseXencode',['../classsaltpack_1_1_utils.html#ab1009492a9a1655f876106ad7cc27d5c',1,'saltpack::Utils::baseXencode(const BYTE_ARRAY &data, std::string alphabet)'],['../classsaltpack_1_1_utils.html#a7c5e8a6a49a4dcfab9538975c1c2ebc9',1,'saltpack::Utils::baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)']]], - ['bintohex_50',['binToHex',['../classsaltpack_1_1_utils.html#a306dc5be4c8b8e22d2f9545d0ccc8c68',1,'saltpack::Utils']]] + ['basexblocksize_0',['baseXblockSize',['../classsaltpack_1_1_utils.html#a8aa4a0da6494260da514fd831ca73547',1,'saltpack::Utils']]], + ['basexdecode_1',['baseXdecode',['../classsaltpack_1_1_utils.html#a663180baf61b9f360766b31acd75f926',1,'saltpack::Utils']]], + ['basexencode_2',['baseXencode',['../classsaltpack_1_1_utils.html#ab1009492a9a1655f876106ad7cc27d5c',1,'saltpack::Utils::baseXencode(const BYTE_ARRAY &data, std::string alphabet)'],['../classsaltpack_1_1_utils.html#a7c5e8a6a49a4dcfab9538975c1c2ebc9',1,'saltpack::Utils::baseXencode(BYTE_ARRAY data, size_t size, std::string alphabet)']]], + ['bintohex_3',['binToHex',['../classsaltpack_1_1_utils.html#a306dc5be4c8b8e22d2f9545d0ccc8c68',1,'saltpack::Utils']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 32d0777..43f428b 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['derivekeyfrompassword_51',['deriveKeyFromPassword',['../classsaltpack_1_1_utils.html#a37f0b47c5a44e899a7226dd256eb3baf',1,'saltpack::Utils']]], - ['derivepublickey_52',['derivePublickey',['../classsaltpack_1_1_utils.html#aeec01519e769fa9a592a373c836b6131',1,'saltpack::Utils']]] + ['derivekeyfrompassword_0',['deriveKeyFromPassword',['../classsaltpack_1_1_utils.html#a37f0b47c5a44e899a7226dd256eb3baf',1,'saltpack::Utils']]], + ['derivepublickey_1',['derivePublickey',['../classsaltpack_1_1_utils.html#aeec01519e769fa9a592a373c836b6131',1,'saltpack::Utils']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index 4f5eaeb..2e20fed 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['finalise_53',['finalise',['../classsaltpack_1_1_armored_output_stream.html#a9bbcb9488a1c7cd02271bd7631b17157',1,'saltpack::ArmoredOutputStream']]] + ['finalise_0',['finalise',['../classsaltpack_1_1_armored_output_stream.html#a9bbcb9488a1c7cd02271bd7631b17157',1,'saltpack::ArmoredOutputStream']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index d4f072c..5b4f8da 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -1,9 +1,9 @@ var searchData= [ - ['generatekeypair_54',['generateKeypair',['../classsaltpack_1_1_utils.html#a8e602336c306fdcaf0caaccc75c76eae',1,'saltpack::Utils']]], - ['generaterandombytes_55',['generateRandomBytes',['../classsaltpack_1_1_utils.html#a17034c68f90f4a36613fccb80b616280',1,'saltpack::Utils']]], - ['generatesignkeypair_56',['generateSignKeypair',['../classsaltpack_1_1_utils.html#a2909313aeee70dbf866cccad1e8e5113',1,'saltpack::Utils']]], - ['getblock_57',['getBlock',['../classsaltpack_1_1_message_reader.html#aadcb674f57e6abbfd0bdbcea6d2b723a',1,'saltpack::MessageReader']]], - ['getrecipients_58',['getRecipients',['../classsaltpack_1_1_message_reader.html#a31b42c2bf188cbcea92c9eadb6f2998d',1,'saltpack::MessageReader']]], - ['getsender_59',['getSender',['../classsaltpack_1_1_message_reader.html#a5da11d296b77288910fa25342e6cca7a',1,'saltpack::MessageReader']]] + ['generatekeypair_0',['generateKeypair',['../classsaltpack_1_1_utils.html#a8e602336c306fdcaf0caaccc75c76eae',1,'saltpack::Utils']]], + ['generaterandombytes_1',['generateRandomBytes',['../classsaltpack_1_1_utils.html#a17034c68f90f4a36613fccb80b616280',1,'saltpack::Utils']]], + ['generatesignkeypair_2',['generateSignKeypair',['../classsaltpack_1_1_utils.html#a2909313aeee70dbf866cccad1e8e5113',1,'saltpack::Utils']]], + ['getblock_3',['getBlock',['../classsaltpack_1_1_message_reader.html#aadcb674f57e6abbfd0bdbcea6d2b723a',1,'saltpack::MessageReader']]], + ['getrecipients_4',['getRecipients',['../classsaltpack_1_1_message_reader.html#a07034d93b8036aacfffcc1329b4f3b5c',1,'saltpack::MessageReader']]], + ['getsender_5',['getSender',['../classsaltpack_1_1_message_reader.html#a5da11d296b77288910fa25342e6cca7a',1,'saltpack::MessageReader']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index 4a20b7f..a34cfe9 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['hasmoreblocks_60',['hasMoreBlocks',['../classsaltpack_1_1_message_reader.html#abbe326250befa18aa4b43906cec8b8a0',1,'saltpack::MessageReader']]], - ['hextobin_61',['hexToBin',['../classsaltpack_1_1_utils.html#a63c01b0bc7018f37538bd9640b372a43',1,'saltpack::Utils']]] + ['hasmoreblocks_0',['hasMoreBlocks',['../classsaltpack_1_1_message_reader.html#abbe326250befa18aa4b43906cec8b8a0',1,'saltpack::MessageReader']]], + ['hextobin_1',['hexToBin',['../classsaltpack_1_1_utils.html#a63c01b0bc7018f37538bd9640b372a43',1,'saltpack::Utils']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index 8fb270d..939e0c8 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['isintentionallyanonymous_62',['isIntentionallyAnonymous',['../classsaltpack_1_1_message_reader.html#a26722f4dd635c950069fc2561b250e8c',1,'saltpack::MessageReader']]] + ['isintentionallyanonymous_0',['isIntentionallyAnonymous',['../classsaltpack_1_1_message_reader.html#a26722f4dd635c950069fc2561b250e8c',1,'saltpack::MessageReader']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index 70ce123..99fcbc0 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['messagereader_63',['MessageReader',['../classsaltpack_1_1_message_reader.html#a26511be72bfa1cf9ba6c2859e5fb444f',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)'],['../classsaltpack_1_1_message_reader.html#a107a3e773c53dc600908df0133259d1b',1,'saltpack::MessageReader::MessageReader(std::istream &is)'],['../classsaltpack_1_1_message_reader.html#ab2014971f1589d75b2289cb05eb83bac',1,'saltpack::MessageReader::MessageReader(std::istream &is, std::istream &messageStream)'],['../classsaltpack_1_1_message_reader.html#ad7a94e134d02811dc0463f63e56e75ea',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)']]], - ['messagewriter_64',['MessageWriter',['../classsaltpack_1_1_message_writer.html#a81493fb95570720d494ecdc64da511a1',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ae1213c820a5c6afd206479919d7e6ce8',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#a96a702a03b4bfcd7c8ea83804e042fe6',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ad1b273eeeb9d4e402037c5941f0b5ef3',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#af9013c807c61e37386221729a0631161',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)'],['../classsaltpack_1_1_message_writer.html#a840d4870101f9a29a243ea08ecd74539',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)'],['../classsaltpack_1_1_message_writer.html#a357ca5a91334f9f0921a0ec7c3354d6c',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY >> &symmetricKeys)']]] + ['messagereader_0',['MessageReader',['../classsaltpack_1_1_message_reader.html#a26511be72bfa1cf9ba6c2859e5fb444f',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey)'],['../classsaltpack_1_1_message_reader.html#a107a3e773c53dc600908df0133259d1b',1,'saltpack::MessageReader::MessageReader(std::istream &is)'],['../classsaltpack_1_1_message_reader.html#ab2014971f1589d75b2289cb05eb83bac',1,'saltpack::MessageReader::MessageReader(std::istream &is, std::istream &messageStream)'],['../classsaltpack_1_1_message_reader.html#ad7a94e134d02811dc0463f63e56e75ea',1,'saltpack::MessageReader::MessageReader(std::istream &is, const BYTE_ARRAY &recipientSecretkey, const std::pair< BYTE_ARRAY, BYTE_ARRAY > &symmetricKey)']]], + ['messagewriter_1',['MessageWriter',['../classsaltpack_1_1_message_writer.html#a81493fb95570720d494ecdc64da511a1',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ae1213c820a5c6afd206479919d7e6ce8',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, BYTE_ARRAY senderSecretkey, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#a96a702a03b4bfcd7c8ea83804e042fe6',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients, bool visibleRecipients)'],['../classsaltpack_1_1_message_writer.html#ad1b273eeeb9d4e402037c5941f0b5ef3',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipients)'],['../classsaltpack_1_1_message_writer.html#af9013c807c61e37386221729a0631161',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, bool detatchedSignature)'],['../classsaltpack_1_1_message_writer.html#a1c4fc2b582efafdb09d738740a0aab8a',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)'],['../classsaltpack_1_1_message_writer.html#adf5fe558c6cd3d75ad530f2eba0c2003',1,'saltpack::MessageWriter::MessageWriter(std::ostream &os, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index 582802a..d3f55e4 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['overflow_65',['overflow',['../classsaltpack_1_1_armored_output_stream.html#a82c6d749034e55b9432ae2e5f7e1eee0',1,'saltpack::ArmoredOutputStream']]] + ['overflow_0',['overflow',['../classsaltpack_1_1_armored_output_stream.html#aa9e996628cabb155154bb0a55dad5acc',1,'saltpack::ArmoredOutputStream']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 75c8f64..cf8f1f5 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['underflow_66',['underflow',['../classsaltpack_1_1_armored_input_stream.html#a0c6521124bcf2d7f0963ff16971b63dd',1,'saltpack::ArmoredInputStream']]] + ['underflow_0',['underflow',['../classsaltpack_1_1_armored_input_stream.html#a0c6521124bcf2d7f0963ff16971b63dd',1,'saltpack::ArmoredInputStream']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index 8deb944..007b22c 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,7 +1,7 @@ var searchData= [ - ['_7earmoredinputstream_67',['~ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#a007c90b24096f1be452d4eff68455b6e',1,'saltpack::ArmoredInputStream']]], - ['_7earmoredoutputstream_68',['~ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#ac26b4c0da23cb21a581b695f51fa6cff',1,'saltpack::ArmoredOutputStream']]], - ['_7emessagereader_69',['~MessageReader',['../classsaltpack_1_1_message_reader.html#aada202a44a98f1d4ac37b029b0cf931f',1,'saltpack::MessageReader']]], - ['_7emessagewriter_70',['~MessageWriter',['../classsaltpack_1_1_message_writer.html#ad505f3f3a7417fb25b46a2e47f65103e',1,'saltpack::MessageWriter']]] + ['_7earmoredinputstream_0',['~ArmoredInputStream',['../classsaltpack_1_1_armored_input_stream.html#a007c90b24096f1be452d4eff68455b6e',1,'saltpack::ArmoredInputStream']]], + ['_7earmoredoutputstream_1',['~ArmoredOutputStream',['../classsaltpack_1_1_armored_output_stream.html#ac26b4c0da23cb21a581b695f51fa6cff',1,'saltpack::ArmoredOutputStream']]], + ['_7emessagereader_2',['~MessageReader',['../classsaltpack_1_1_message_reader.html#aada202a44a98f1d4ac37b029b0cf931f',1,'saltpack::MessageReader']]], + ['_7emessagewriter_3',['~MessageWriter',['../classsaltpack_1_1_message_writer.html#ad505f3f3a7417fb25b46a2e47f65103e',1,'saltpack::MessageWriter']]] ]; diff --git a/docs/search/mag.svg b/docs/search/mag.svg new file mode 100644 index 0000000..ffb6cf0 --- /dev/null +++ b/docs/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/docs/search/mag_d.svg b/docs/search/mag_d.svg new file mode 100644 index 0000000..4122773 --- /dev/null +++ b/docs/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/docs/search/mag_sel.svg b/docs/search/mag_sel.svg new file mode 100644 index 0000000..553dba8 --- /dev/null +++ b/docs/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/docs/search/mag_seld.svg b/docs/search/mag_seld.svg new file mode 100644 index 0000000..c906f84 --- /dev/null +++ b/docs/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js index 9331f12..6b8e654 100644 --- a/docs/search/namespaces_0.js +++ b/docs/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['saltpack_43',['saltpack',['../namespacesaltpack.html',1,'']]] + ['saltpack_0',['saltpack',['../namespacesaltpack.html',1,'']]] ]; diff --git a/docs/search/pages_0.js b/docs/search/pages_0.js index a6ca1bb..322a015 100644 --- a/docs/search/pages_0.js +++ b/docs/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['libsaltpack_77',['libsaltpack',['../index.html',1,'']]] + ['libsaltpack_0',['libsaltpack',['../index.html',1,'']]] ]; diff --git a/docs/search/search.css b/docs/search/search.css index 3cf9df9..19f76f9 100644 --- a/docs/search/search.css +++ b/docs/search/search.css @@ -1,106 +1,124 @@ -/*---------------- Search Box */ +/*---------------- Search Box positioning */ -#FSearchBox { - float: left; +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; } #MSearchBox { + display: inline-block; white-space : nowrap; - float: none; - margin-top: 8px; - right: 0px; - width: 170px; - height: 24px; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); z-index: 102; } -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; } #MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; } -.left #MSearchSelect { - left:4px; +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; } -.right #MSearchSelect { - right:5px; -} #MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; border:none; - width:115px; - margin-left:20px; - padding-left:4px; - color: #909090; + color: var(--search-foreground-color); outline: none; - font: 9pt Arial, Verdana, sans-serif; + font-family: var(--font-family-search); -webkit-border-radius: 0px; + border-radius: 0px; + background: none; } -#FSearchBox #MSearchField { - margin-left:15px; +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } } #MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:8px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; } #MSearchClose { display: none; - position: absolute; - top: 4px; + font-size: inherit; background : none; border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; + margin: 0; + padding: 0; outline: none; -} -.left #MSearchClose { - left: 6px; } -.right #MSearchClose { - right: 2px; +#MSearchCloseImg { + padding: 0.3em; + margin: 0; } .MSearchBoxActive #MSearchField { - color: #000000; + color: var(--search-active-color); } + + /*---------------- Search filter selection */ #MSearchSelectWindow { display: none; position: absolute; left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -113,7 +131,7 @@ } .SelectItem { - font: 8pt Arial, Verdana, sans-serif; + font: 8pt var(--font-family-search); padding-left: 2px; padding-right: 12px; border: 0px; @@ -121,7 +139,7 @@ span.SelectionMark { margin-right: 4px; - font-family: monospace; + font-family: var(--font-family-monospace); outline-style: none; text-decoration: none; } @@ -129,7 +147,7 @@ span.SelectionMark { a.SelectItem { display: block; outline-style: none; - color: #000000; + color: var(--search-filter-foreground-color); text-decoration: none; padding-left: 6px; padding-right: 12px; @@ -137,14 +155,14 @@ a.SelectItem { a.SelectItem:focus, a.SelectItem:active { - color: #000000; + color: var(--search-filter-foreground-color); outline-style: none; text-decoration: none; } a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); outline-style: none; text-decoration: none; cursor: pointer; @@ -154,7 +172,7 @@ a.SelectItem:hover { /*---------------- Search results window */ iframe#MSearchResults { - width: 60ex; + /*width: 60ex;*/ height: 15em; } @@ -162,9 +180,12 @@ iframe#MSearchResults { display: none; position: absolute; left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); z-index:10000; + width: 300px; + height: 400px; + overflow: auto; } /* ----------------------------------- */ @@ -172,7 +193,6 @@ iframe#MSearchResults { #SRIndex { clear:both; - padding-bottom: 15px; } .SREntry { @@ -185,8 +205,9 @@ iframe#MSearchResults { padding: 1px 5px; } -body.SRPage { +div.SRPage { margin: 5px 2px; + background-color: var(--search-results-background-color); } .SRChildren { @@ -198,17 +219,18 @@ body.SRPage { } .SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); text-decoration: none; outline: none; } a.SRScope { display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; text-decoration: none; outline: none; } @@ -220,33 +242,31 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; + font-family: var(--font-family-search); } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; + font-family: var(--font-family-search); } .SRResult { display: none; } -DIV.searchresults { +div.searchresults { margin-left: 10px; margin-right: 10px; } /*---------------- External search page results */ -.searchresult { - background-color: #F0F3F8; -} - .pages b { color: white; padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); + background-image: var(--nav-gradient-active-image-parent); background-repeat: repeat-x; text-shadow: 0 1px 1px #000000; } diff --git a/docs/search/search.js b/docs/search/search.js index ff2b8c8..666af01 100644 --- a/docs/search/search.js +++ b/docs/search/search.js @@ -22,56 +22,9 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function convertToId(search) -{ - var result = ''; - for (i=0;i document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); // ------------ Event Handlers // Called when focus is added or removed from the search field. - this.OnSearchFieldFocus = function(isActive) - { + this.OnSearchFieldFocus = function(isActive) { this.Activate(isActive); } - this.OnSearchSelectShow = function() - { - var searchSelectWindow = this.DOMSearchSelectWindow(); - var searchField = this.DOMSearchSelect(); - - if (this.insideFrame) - { - var left = getXPos(searchField); - var top = getYPos(searchField); - left += searchField.offsetWidth + 6; - top += searchField.offsetHeight; - - // show search selection popup - searchSelectWindow.style.display='block'; - left -= searchSelectWindow.offsetWidth; - searchSelectWindow.style.left = left + 'px'; - searchSelectWindow.style.top = top + 'px'; - } - else - { - var left = getXPos(searchField); - var top = getYPos(searchField); - top += searchField.offsetHeight; - - // show search selection popup - searchSelectWindow.style.display='block'; - searchSelectWindow.style.left = left + 'px'; - searchSelectWindow.style.top = top + 'px'; - } + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); + + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; // stop selection hide timer - if (this.hideTimeout) - { + if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout=0; } return false; // to avoid "image drag" default event } - this.OnSearchSelectHide = function() - { - this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()", + this.OnSearchSelectHide = function() { + this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), this.closeSelectionTimeout); } // Called when the content of the search field is changed. - this.OnSearchFieldChange = function(evt) - { - if (this.keyTimeout) // kill running timer - { + this.OnSearchFieldChange = function(evt) { + if (this.keyTimeout) { // kill running timer clearTimeout(this.keyTimeout); this.keyTimeout = 0; } - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 || e.keyCode==13) - { - if (e.shiftKey==1) - { + const e = evt ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) { + if (e.shiftKey==1) { this.OnSearchSelectShow(); - var win=this.DOMSearchSelectWindow(); - for (i=0;i do a search - { + const searchValue = this.DOMSearchField().value.replace(/ +/g, ""); + if (searchValue!="" && this.searchActive) { // something was found -> do a search this.Search(); } } - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { + } else if (e.keyCode==38 && this.searchIndex>0) { // Up this.searchIndex--; this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { + } else if (e.keyCode==13 || e.keyCode==27) { + e.stopPropagation(); this.OnSelectItem(this.searchIndex); this.CloseSelectionWindow(); this.DOMSearchField().focus(); @@ -312,111 +239,108 @@ function SearchBox(name, resultsPath, inFrame, label) // --------- Actions // Closes the results window. - this.CloseResultsWindow = function() - { + this.CloseResultsWindow = function() { this.DOMPopupSearchResultsWindow().style.display = 'none'; this.DOMSearchClose().style.display = 'none'; this.Activate(false); } - this.CloseSelectionWindow = function() - { + this.CloseSelectionWindow = function() { this.DOMSearchSelectWindow().style.display = 'none'; } // Performs a search. - this.Search = function() - { + this.Search = function() { this.keyTimeout = 0; // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair idxChar = searchValue.substr(0, 2); } - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; + + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; + + const handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') { + domSearchClose.style.display = 'inline-block'; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + let height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } } - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); } this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; } // -------- Activation Functions // Activates or deactivates the search panel, resetting things to // their default values if necessary. - this.Activate = function(isActive) - { + this.Activate = function(isActive) { if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { + this.searchActive = true; + } else if (!isActive) { // directly remove the panel this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; this.searchActive = false; this.lastSearchValue = '' this.lastResultsPage = ''; + this.DOMSearchField().value = ''; } } } @@ -424,391 +348,347 @@ function SearchBox(name, resultsPath, inFrame, label) // ----------------------------------------------------------------------- // The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } +function SearchResults() { + + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; } - } - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { + element = element.firstChild; + } else if (element.nextSibling) { + element = element.nextSibling; + } else { + do { + element = element.parentNode; } - else - { - element.style.display = 'block'; + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) { + element = element.nextSibling; } } } + } - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); + this.Toggle = function(id) { + const element = this.FindChildElement(id); + if (element) { + if (element.style.display == 'block') { + element.style.display = 'none'; + } else { + element.style.display = 'block'; } + } + } - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) { + if (!search) { // get search word from URL + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) { + row.style.display = 'block'; + matches++; + } else { + row.style.display = 'none'; } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; + i++; } + document.getElementById("Searching").style.display='none'; + if (matches == 0) { // no results + document.getElementById("NoMatches").style.display='block'; + } else { // at least one result + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; } - return focusItem; + focusItem=null; + index++; } + return focusItem; + } - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; } - return focusItem; + focusItem=null; + index--; } + return focusItem; + } - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; + this.ProcessKeys = function(e) { + if (e.type == "keydown") { + this.repeatOn = false; + this.lastKey = e.keyCode; + } else if (e.type == "keypress") { + if (!this.repeatOn) { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; + } else if (e.type == "keyup") { + this.lastKey = 0; + this.repeatOn = false; } + return this.lastKey!=0; + } - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; } + n++; } } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field + document.getElementById("MSearchField").focus(); } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; } + return false; + } - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } + this.NavChild = function(evt,itemIndex,childIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + if (childIndex>0) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) { // last child, jump to parent next parent + elem = this.NavNext(itemIndex+1); } - else if (this.lastKey==13) // Enter - { - return true; + if (elem) { + elem.focus(); } - return false; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; } + return false; + } } -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} +function createResults(resultsPath) { -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } + + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; e { + const id = elem[0]; + const srResult = document.createElement('div'); srResult.setAttribute('id','SR_'+id); setClassAttr(srResult,'SRResult'); - var srEntry = document.createElement('div'); + const srEntry = document.createElement('div'); setClassAttr(srEntry,'SREntry'); - var srLink = document.createElement('a'); - srLink.setAttribute('id','Item'+e); - setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = searchData[e][1][0]; + srLink.innerHTML = elem[1][0]; srEntry.appendChild(srLink); - if (searchData[e][1].length==2) // single result - { - srLink.setAttribute('href',searchData[e][1][1][0]); - if (searchData[e][1][1][1]) - { + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); + if (elem[1][1][1]) { srLink.setAttribute('target','_parent'); + } else { + srLink.setAttribute('target','_blank'); } - var srScope = document.createElement('span'); + const srScope = document.createElement('span'); setClassAttr(srScope,'SRScope'); - srScope.innerHTML = searchData[e][1][1][2]; + srScope.innerHTML = elem[1][1][2]; srEntry.appendChild(srScope); - } - else // multiple results - { + } else { // multiple results srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); - var srChildren = document.createElement('div'); + const srChildren = document.createElement('div'); setClassAttr(srChildren,'SRChildren'); - for (var c=0; cli>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/docs/types_8h_source.html b/docs/types_8h_source.html index 264859c..b835cff 100644 --- a/docs/types_8h_source.html +++ b/docs/types_8h_source.html @@ -1,14 +1,16 @@ - + - - + + libsaltpack: include/saltpack/types.h Source File + + @@ -19,8 +21,8 @@
    - - + @@ -29,22 +31,28 @@
    +
    libsaltpack
    - + +/* @license-end */ + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    types.h
    +
    types.h
    -
    1 /*
    -
    2  * Copyright 2016 Luca Zanconato
    -
    3  *
    -
    4  * Licensed under the Apache License, Version 2.0 (the "License");
    -
    5  * you may not use this file except in compliance with the License.
    -
    6  * You may obtain a copy of the License at
    -
    7  *
    -
    8  * http://www.apache.org/licenses/LICENSE-2.0
    -
    9  *
    -
    10  * Unless required by applicable law or agreed to in writing, software
    -
    11  * distributed under the License is distributed on an "AS IS" BASIS,
    -
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -
    13  * See the License for the specific language governing permissions and
    -
    14  * limitations under the License.
    -
    15  */
    -
    16 
    -
    17 #ifndef SALTPACK_TYPES_H
    -
    18 #define SALTPACK_TYPES_H
    -
    19 
    -
    20 #include <iostream>
    -
    21 #include <vector>
    -
    22 
    -
    26 namespace saltpack {
    -
    27 
    -
    28  typedef unsigned char BYTE;
    -
    30  typedef std::vector<BYTE> BYTE_ARRAY;
    -
    31 }
    -
    32 
    -
    33 #endif //SALTPACK_TYPES_H
    +
    1/*
    +
    2 * Copyright 2016 Luca Zanconato
    +
    3 *
    +
    4 * Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 * you may not use this file except in compliance with the License.
    +
    6 * You may obtain a copy of the License at
    +
    7 *
    +
    8 * http://www.apache.org/licenses/LICENSE-2.0
    +
    9 *
    +
    10 * Unless required by applicable law or agreed to in writing, software
    +
    11 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 * See the License for the specific language governing permissions and
    +
    14 * limitations under the License.
    +
    15 */
    +
    16
    +
    17#ifndef SALTPACK_TYPES_H
    +
    18#define SALTPACK_TYPES_H
    +
    19
    +
    20#include <iostream>
    +
    21#include <vector>
    +
    22
    +
    26namespace saltpack {
    +
    27
    +
    28 typedef unsigned char BYTE;
    +
    30 typedef std::vector<BYTE> BYTE_ARRAY;
    +
    31}
    +
    32
    +
    33#endif //SALTPACK_TYPES_H
    +
    The saltpack library namespace.
    Definition ArmoredInputStream.h:24
    +
    std::vector< BYTE > BYTE_ARRAY
    Definition types.h:30
    +
    unsigned char BYTE
    Definition types.h:28
    -
    std::vector< BYTE > BYTE_ARRAY
    Definition: types.h:30
    -
    unsigned char BYTE
    Definition: types.h:28
    -
    The saltpack library namespace.
    Definition: ArmoredInputStream.h:24
    diff --git a/include/saltpack/ArmoredInputStream.h b/include/saltpack/ArmoredInputStream.h index 8b1131b..df76913 100644 --- a/include/saltpack/ArmoredInputStream.h +++ b/include/saltpack/ArmoredInputStream.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/ArmoredOutputStream.h b/include/saltpack/ArmoredOutputStream.h index 7fa9e61..2033d2b 100644 --- a/include/saltpack/ArmoredOutputStream.h +++ b/include/saltpack/ArmoredOutputStream.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/Base.h b/include/saltpack/Base.h index 242c445..b9bb9ce 100644 --- a/include/saltpack/Base.h +++ b/include/saltpack/Base.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/HeaderPacket.h b/include/saltpack/HeaderPacket.h index 45aff95..ff6609d 100644 --- a/include/saltpack/HeaderPacket.h +++ b/include/saltpack/HeaderPacket.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/HeaderPacketRecipient.h b/include/saltpack/HeaderPacketRecipient.h index c06a885..2c0c07b 100644 --- a/include/saltpack/HeaderPacketRecipient.h +++ b/include/saltpack/HeaderPacketRecipient.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/MessageReader.h b/include/saltpack/MessageReader.h index c58e759..1d66d61 100644 --- a/include/saltpack/MessageReader.h +++ b/include/saltpack/MessageReader.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/MessageWriter.h b/include/saltpack/MessageWriter.h index 7b4e64e..44fc591 100644 --- a/include/saltpack/MessageWriter.h +++ b/include/saltpack/MessageWriter.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/SaltpackException.h b/include/saltpack/SaltpackException.h index 9c5ead8..5936504 100644 --- a/include/saltpack/SaltpackException.h +++ b/include/saltpack/SaltpackException.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/include/saltpack/Utils.h b/include/saltpack/Utils.h index ec2be59..15ff992 100644 --- a/include/saltpack/Utils.h +++ b/include/saltpack/Utils.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/main.md b/main.md index 038d4b2..458d48a 100644 --- a/main.md +++ b/main.md @@ -16,7 +16,7 @@ Code repository Copyright and license --------------------- - Copyright 2016-2020 Luca Zanconato () + Copyright 2016-2024 Luca Zanconato () Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. diff --git a/src/ArmoredInputStream.cpp b/src/ArmoredInputStream.cpp index 0648647..8e27c3b 100644 --- a/src/ArmoredInputStream.cpp +++ b/src/ArmoredInputStream.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/ArmoredOutputStream.cpp b/src/ArmoredOutputStream.cpp index 05a5484..70d306a 100644 --- a/src/ArmoredOutputStream.cpp +++ b/src/ArmoredOutputStream.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/Base.cpp b/src/Base.cpp index 67ebbf5..5d18ecf 100644 --- a/src/Base.cpp +++ b/src/Base.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/MessageReader.cpp b/src/MessageReader.cpp index 0b7a997..42b350c 100644 --- a/src/MessageReader.cpp +++ b/src/MessageReader.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/MessageWriter.cpp b/src/MessageWriter.cpp index 98f654a..536956e 100644 --- a/src/MessageWriter.cpp +++ b/src/MessageWriter.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/Utils.cpp b/src/Utils.cpp index 31eb9f3..54c14b5 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/test/armor.cpp b/test/armor.cpp index 716aebf..d3b7e71 100644 --- a/test/armor.cpp +++ b/test/armor.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/test/encryption.cpp b/test/encryption.cpp index 8dff41a..465e703 100644 --- a/test/encryption.cpp +++ b/test/encryption.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/test/signature.cpp b/test/signature.cpp index 8aaedb8..1df08de 100644 --- a/test/signature.cpp +++ b/test/signature.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/test/utils.cpp b/test/utils.cpp index 91a3bc8..74aa1c5 100644 --- a/test/utils.cpp +++ b/test/utils.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2016-2020 Luca Zanconato + * Copyright 2016-2024 Luca Zanconato * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.