Home
last modified time | relevance | path

Searched refs:Key (Results 1 – 25 of 713) sorted by relevance

12345678910>>...29

/llvm-project/libcxx/test/support/
H A Dpoisoned_hash_helper.h22 template <class Hash, class Key, class Res = decltype(std::declval<Hash&>()(std::declval<Key>()))>
30 template <class Hash, class Key>
32 return can_hash_impl<Hash, Key>(0);
50 template <class Key, class Hash = std::hash<Key>>
51 TEST_CONSTEXPR_CXX20 void test_hash_enabled(Key const& key = Key{}) {
68 static_assert(can_hash<Hash, Key&>(), "");
69 static_assert(can_hash<Hash, Key cons
[all...]
H A Dtest_container_comparisons.h178 template <template <typename...> typename Container, typename Key, typename Val, typename Order, ty…
182 Container<Key, Val, Compare> l1{{}, comp}; in test_ordered_map_container_spaceship_with_type()
183 Container<Key, Val, Compare> l2{{}, comp}; in test_ordered_map_container_spaceship_with_type()
188 Container<Key, Val, Compare> l1{{{1, 1}, {2, 1}}, comp}; in test_ordered_map_container_spaceship_with_type()
189 Container<Key, Val, Compare> l2{{{1, 1}, {2, 1}}, comp}; in test_ordered_map_container_spaceship_with_type()
194 Container<Key, Val, Compare> l1{{{1, 1}, {2, 1}}, comp}; in test_ordered_map_container_spaceship_with_type()
195 Container<Key, Val, Compare> l2{{{1, 1}, {2, 2}}, comp}; in test_ordered_map_container_spaceship_with_type()
200 Container<Key, Val, Compare> l1{{{1, 1}, {2, 3}}, comp}; in test_ordered_map_container_spaceship_with_type()
201 Container<Key, Val, Compare> l2{{{1, 1}, {2, 2}}, comp}; in test_ordered_map_container_spaceship_with_type()
206 Container<Key, Val, Compare> l1{{{1, 1}}, comp}; in test_ordered_map_container_spaceship_with_type()
[all …]
/llvm-project/llvm/lib/Support/
H A DAMDGPUMetadata.cpp95 YIO.mapOptional(Kernel::Attrs::Key::ReqdWorkGroupSize, in mapping()
97 YIO.mapOptional(Kernel::Attrs::Key::WorkGroupSizeHint, in mapping()
99 YIO.mapOptional(Kernel::Attrs::Key::VecTypeHint, in mapping()
101 YIO.mapOptional(Kernel::Attrs::Key::RuntimeHandle, MD.mRuntimeHandle, in mapping()
109 YIO.mapOptional(Kernel::Arg::Key::Name, MD.mName, std::string()); in mapping()
110 YIO.mapOptional(Kernel::Arg::Key::TypeName, MD.mTypeName, std::string()); in mapping()
111 YIO.mapRequired(Kernel::Arg::Key::Size, MD.mSize); in mapping()
112 YIO.mapRequired(Kernel::Arg::Key::Align, MD.mAlign); in mapping()
113 YIO.mapRequired(Kernel::Arg::Key::ValueKind, MD.mValueKind); in mapping()
117 YIO.mapOptional(Kernel::Arg::Key::ValueType, Unused); in mapping()
[all …]
/llvm-project/clang-tools-extra/clangd/support/
H A DContext.h40 template <class Type> class Key {
45 constexpr Key() = default;
47 Key(Key const &) = delete;
48 Key &operator=(Key const &) = delete;
49 Key(Key &&) = delete;
50 Key &operator=(Key &&) = delete;
98 template <class Type> const Type *get(const Key<Type> &Key) const { in get() argument
101 if (DataPtr->KeyPtr == &Key) in get()
109 template <class Type> const Type &getExisting(const Key<Type> &Key) const { in getExisting() argument
110 auto Val = get(Key); in getExisting()
[all …]
/llvm-project/clang/lib/Basic/
H A DTypeTraits.cpp20 #define TYPE_TRAIT_1(Spelling, Name, Key) #Name, argument
22 #define TYPE_TRAIT_2(Spelling, Name, Key) #Name, argument
24 #define TYPE_TRAIT_N(Spelling, Name, Key) #Name, argument
29 #define TYPE_TRAIT_1(Spelling, Name, Key) #Spelling, argument
31 #define TYPE_TRAIT_2(Spelling, Name, Key) #Spelling, argument
33 #define TYPE_TRAIT_N(Spelling, Name, Key) #Spelling, argument
38 #define ARRAY_TYPE_TRAIT(Spelling, Name, Key) #Name, argument
43 #define ARRAY_TYPE_TRAIT(Spelling, Name, Key) #Spelling, argument
48 #define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) #Name, argument
49 #define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) #Name, argument
[all …]
/llvm-project/llvm/lib/IR/
H A DDiagnosticInfo.cpp197 DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, in Argument()
199 : Key(std::string(Key)) { in Argument() argument
222 DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, const Type *T) in Argument() argument
223 : Key(std::string(Key)) { in Argument()
228 DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, StringRef S)
229 : Key(std::string(Key)), Val(S.str()) {} in Argument() argument
231 DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, in in Argument()
165 Argument(StringRef Key,const Value * V) Argument() argument
190 Argument(StringRef Key,const Type * T) Argument() argument
196 Argument(StringRef Key,StringRef S) Argument() argument
202 Argument(StringRef Key,float N) Argument() argument
205 Argument(StringRef Key,long N) Argument() argument
208 Argument(StringRef Key,long long N) Argument() argument
211 Argument(StringRef Key,unsigned N) Argument() argument
214 Argument(StringRef Key,unsigned long N) Argument() argument
218 Argument(StringRef Key,unsigned long long N) Argument() argument
236 Argument(StringRef Key,DebugLoc Loc) Argument() argument
[all...]
/llvm-project/clang/include/clang/Basic/
H A DTypeTraits.h22 #define TYPE_TRAIT_1(Spelling, Name, Key) UTT_##Name, argument
25 #define TYPE_TRAIT_1(Spelling, Name, Key) +1 argument
28 #define TYPE_TRAIT_2(Spelling, Name, Key) BTT_##Name, argument
31 #define TYPE_TRAIT_2(Spelling, Name, Key) +1 argument
34 #define TYPE_TRAIT_N(Spelling, Name, Key) TT_##Name, argument
37 #define TYPE_TRAIT_N(Spelling, Name, Key) +1 argument
43 #define ARRAY_TYPE_TRAIT(Spelling, Name, Key) ATT_##Name, argument
46 #define ARRAY_TYPE_TRAIT(Spelling, Name, Key) +1 argument
52 #define UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) UETT_##Name, argument
53 #define CXX11_UNARY_EXPR_OR_TYPE_TRAIT(Spelling, Name, Key) UETT_##Name, argument
[all …]
/llvm-project/llvm/include/llvm/ADT/
H A DStringMap.h64 unsigned LookupBucketFor(StringRef Key) { in LookupBucketFor() argument
65 return LookupBucketFor(Key, hash(Key)); in LookupBucketFor()
69 unsigned LookupBucketFor(StringRef Key, uint32_t FullHashValue);
74 int FindKey(StringRef Key) const { return FindKey(Key, hash(Key)); } in FindKey() argument
77 int FindKey(StringRef Key, uint32_t FullHashValue) const;
85 StringMapEntryBase *RemoveKey(StringRef Key);
111 static uint32_t hash(StringRef Key);
233 iterator find(StringRef Key) { return find(Key, hash(Key)); } in find() argument
235 iterator find(StringRef Key, uint32_t FullHashValue) { in find() argument
236 int Bucket = FindKey(Key, FullHashValue); in find()
[all …]
H A DMapVector.h98 ValueT &operator[](const KeyT &Key) {
99 std::pair<KeyT, typename MapType::mapped_type> Pair = std::make_pair(Key, 0);
103 Vector.push_back(std::make_pair(Key, ValueT()));
110 ValueT lookup(const KeyT &Key) const { in lookup() argument
113 typename MapType::const_iterator Pos = Map.find(Key); in lookup()
118 std::pair<iterator, bool> try_emplace(const KeyT &Key, Ts &&...Args) { in try_emplace() argument
119 auto [It, Inserted] = Map.insert(std::make_pair(Key, 0)); in try_emplace()
122 Vector.emplace_back(std::piecewise_construct, std::forward_as_tuple(Key), in try_emplace()
129 std::pair<iterator, bool> try_emplace(KeyT &&Key, Ts &&...Args) { in try_emplace() argument
130 auto [It, Inserted] = Map.insert(std::make_pair(Key, 0)); in try_emplace()
[all …]
H A DSparseSet.h78 unsigned operator()(const KeyT &Key) const {
79 return KeyFunctorT()(Key);
209 assert(Idx < Universe && "Key out of range");
226 /// @param Key A valid key to find.
229 iterator find(const KeyT &Key) {
230 return findIndex(KeyIndexOf(Key));
233 const_iterator find(const KeyT &Key) const {
234 return const_cast<SparseSet*>(this)->findIndex(KeyIndexOf(Key));
237 /// Check if the set contains the given \c Key.
239 /// @param Key
[all...]
/llvm-project/llvm/include/llvm/ProfileData/
H A DHashKeyMap.h66 const original_key_type &Key, in try_emplace() argument
68 assert(Hash == hash_value(Key)); in try_emplace()
73 std::pair<iterator, bool> try_emplace(const original_key_type &Key, in try_emplace() argument
75 return try_emplace(hash_value(Key), Key, std::forward<Ts>(Args)...); in try_emplace()
82 mapped_type &operator[](const original_key_type &Key) {
83 return try_emplace(Key, mapped_type()).first->second;
86 iterator find(const original_key_type &Key) { in find() argument
87 auto It = base_type::find(hash_value(Key)); in find()
93 const_iterator find(const original_key_type &Key) const { in find() argument
94 auto It = base_type::find(hash_value(Key)); in find()
[all …]
/llvm-project/clang-tools-extra/test/clang-tidy/checkers/readability/
H A Dcontainer-contains.cpp6 template <class Key, class T>
13 unsigned count(const Key &K) const;
14 bool contains(const Key &K) const;
15 iterator find(const Key &K);
19 template <class Key>
21 unsigned count(const Key &K) const;
22 bool contains(const Key &K) const;
25 template <class Key>
27 unsigned count(const Key &K) const;
28 bool contains(const Key
[all...]
/llvm-project/libcxx/test/std/containers/associative/map/
H A Dcompare.pass.cpp24 struct Key { struct
25 template <typename T> Key(const T&) {} in Key() argument
26 bool operator< (const Key&) const { return false; } in operator <() argument
31 typedef std::map<Key, int> MapT; in main()
37 m_contains[Key(0)] = 42; in main()
39 Iter it = m_empty.find(Key(0)); in main()
41 it = m_contains.find(Key(0)); in main()
46 IterBool result = map.insert(std::make_pair(Key(0), 42)); in main()
49 IterBool result2 = map.insert(std::make_pair(Key(0), 43)); in main()
51 assert(map[Key(0)] == 42); in main()
/llvm-project/clang/lib/Lex/
H A DHeaderMap.cpp134 Result.Key = HMAP_EmptyBucketKey; in getBucket()
142 Result.Key = getEndianAdjustedWord(BucketPtr->Key); in getBucket()
187 if (B.Key == HMAP_EmptyBucketKey) continue; in dump()
189 StringRef Key = getStringOrInvalid(B.Key); in dump() local
192 llvm::dbgs() << " " << i << ". " << Key << " -> '" << Prefix << "' '" in dump()
208 if (B.Key == HMAP_EmptyBucketKey) return StringRef(); // Hash miss. in lookupFilename()
211 std::optional<StringRef> Key = getString(B.Key); in lookupFilename() local
243 std::optional<StringRef> Key = getString(B.Key); reverseLookupFilename() local
[all...]
/llvm-project/compiler-rt/lib/sanitizer_common/
H A Dsanitizer_dense_map.h73 bool contains(const KeyT &Key) const { return doFind(Key) != nullptr; } in count() argument
76 size_type count(const KeyT &Key) const { return contains(Key) ? 1 : 0; } in count()
78 value_type *find(const KeyT &Key) { return doFind(Key); } in find() argument
79 const value_type *find(const KeyT &Key) const { return doFind(Key); } in find()
87 value_type *find_as(const LookupKeyT &Key) { in find()
88 return doFind(Key); in find()
84 find(const KeyT & Key) find() argument
97 find_as(const LookupKeyT & Key) find_as() argument
104 find_as(const LookupKeyT & Key) find_as() argument
113 lookup(const KeyT & Key) lookup() argument
139 try_emplace(KeyT && Key,Ts &&...Args) try_emplace() argument
155 try_emplace(const KeyT & Key,Ts &&...Args) try_emplace() argument
207 FindAndConstruct(const KeyT & Key) FindAndConstruct() argument
217 FindAndConstruct(KeyT && Key) FindAndConstruct() argument
395 InsertIntoBucket(BucketT * TheBucket,KeyArg && Key,ValueArgs &&...Values) InsertIntoBucket() argument
406 InsertIntoBucketWithLookup(BucketT * TheBucket,KeyT && Key,ValueT && Value,LookupKeyT & Lookup) InsertIntoBucketWithLookup() argument
416 InsertIntoBucketImpl(const KeyT & Key,const LookupKeyT & Lookup,BucketT * TheBucket) InsertIntoBucketImpl() argument
[all...]
/llvm-project/libcxx/test/std/containers/unord/unord.map/
H A Dcompare.pass.cpp11 // template <class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>,
12 // class Alloc = allocator<pair<const Key, T>>>
23 struct Key { struct
24 template <typename T> Key(const T&) {} in Key() argument
25 bool operator== (const Key&) const { return true; } in operator ==() argument
29 struct std::hash<Key> {
30 std::size_t operator()(Key const&) const { return 0; }
35 typedef std::unordered_map<Key, in
[all...]
/llvm-project/llvm/unittests/tools/llvm-exegesis/X86/
H A DBenchmarkResultTest.cpp74 ToDisk.Key.Instructions.push_back(MCInstBuilder(X86::XOR32rr) in TEST()
79 ToDisk.Key.Config = "config"; in TEST()
80 ToDisk.Key.RegisterInitialValues = { in TEST()
129 EXPECT_THAT(FromDisk.Key.Instructions, in TEST()
130 Pointwise(EqMCInst(), ToDisk.Key.Instructions)); in TEST()
131 EXPECT_EQ(FromDisk.Key.Config, ToDisk.Key.Config); in TEST()
132 EXPECT_THAT(FromDisk.Key.RegisterInitialValues, in TEST()
133 Pointwise(EqRegValue(), ToDisk.Key.RegisterInitialValues)); in TEST()
148 EXPECT_THAT(FromDisk.Key.Instructions, in TEST()
149 Pointwise(EqMCInst(), ToDisk.Key.Instructions)); in TEST()
[all …]
/llvm-project/compiler-rt/lib/sanitizer_common/tests/
H A Dsanitizer_dense_map_test.cpp211 for (int Key = 0; Key < 5; ++Key) in TYPED_TEST() local
212 this->Map[this->getKey(Key)] = this->getValue(Key); in TYPED_TEST()
216 for (int Key = 0; Key < 5; ++Key) in TYPED_TEST() local
217 EXPECT_EQ(this->getValue(Key), copyMap[this->getKey(Key)]); in TYPED_TEST()
229 for (int Key = 0; Key < 5; ++Key) in TYPED_TEST() local
230 this->Map[this->getKey(Key)] = this->getValue(Key); in TYPED_TEST()
252 for (int Key = 0; Key < 5; ++Key) in TYPED_TEST() local
253 this->Map[this->getKey(Key)] = this->getValue(Key); in TYPED_TEST()
257 for (int Key = 0; Key < 5; ++Key) in TYPED_TEST() local
258 EXPECT_EQ(this->getValue(Key), copyMap[this->getKey(Key)]); in TYPED_TEST()
[all …]
/llvm-project/llvm/unittests/ProfileData/
H A DSymbolRemappingReaderTest.cpp87 auto Key = Reader.insert("_ZN1B3bar3bazIiEEvv"); in TEST_F() local
88 EXPECT_NE(Key, SymbolRemappingReader::Key()); in TEST_F()
89 EXPECT_EQ(Key, Reader.lookup("_ZN1A3foo3bazIlEEvv")); in TEST_F()
90 EXPECT_NE(Key, Reader.lookup("_ZN1C3foo3bazIlEEvv")); in TEST_F()
92 Key = Reader.insert("_Z1fIiEvv"); in TEST_F()
93 EXPECT_NE(Key, SymbolRemappingReader::Key()); in TEST_F()
94 EXPECT_EQ(Key, Reader.lookup("_Z1gIlEvv")); in TEST_F()
/llvm-project/clang/lib/APINotes/
H A DAPINotesWriter.cpp299 hash_value_type ComputeHash(key_type_ref Key) { return llvm::djbHash(Key); } in EmitKeyDataLength()
302 EmitKeyDataLength(raw_ostream &OS, key_type_ref Key, data_type_ref) { in EmitKeyDataLength()
303 uint32_t KeyLength = Key.size();
312 void EmitKey(raw_ostream &OS, key_type_ref Key, unsigned) { OS << Key; }
357 hash_value_type ComputeHash(key_type_ref Key) { in EmitKeyDataLength()
358 return static_cast<size_t>(Key.hashValue()); in EmitKeyDataLength()
372 void EmitKey(raw_ostream &OS, key_type_ref Key, unsigned) { in EmitData()
374 writer.write<uint32_t>(Key in EmitData()
291 ComputeHash(key_type_ref Key) ComputeHash() argument
294 EmitKeyDataLength(raw_ostream & OS,key_type_ref Key,data_type_ref) EmitKeyDataLength() argument
304 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
349 ComputeHash(key_type_ref Key) ComputeHash() argument
364 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
476 EmitKeyDataLength(raw_ostream & OS,key_type_ref Key,data_type_ref Data) EmitKeyDataLength() argument
561 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
566 ComputeHash(key_type_ref Key) ComputeHash() argument
675 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
682 ComputeHash(key_type_ref Key) ComputeHash() argument
744 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
809 ComputeHash(key_type_ref Key) ComputeHash() argument
814 EmitKeyDataLength(raw_ostream & OS,key_type_ref Key,data_type_ref) EmitKeyDataLength() argument
825 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
876 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
883 ComputeHash(key_type_ref Key) ComputeHash() argument
990 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
997 ComputeHash(key_type_ref Key) ComputeHash() argument
1046 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
1051 ComputeHash(key_type_ref Key) ComputeHash() argument
1104 EmitKey(raw_ostream & OS,key_type_ref Key,unsigned) EmitKey() argument
1111 ComputeHash(key_type_ref Key) ComputeHash() argument
1273 ContextTableKey Key(RawParentCtxID, static_cast<uint8_t>(Kind), NameID); addObjCContext() local
1355 ContextTableKey Key(Ctx, VariableID); addGlobalVariable() local
1364 ContextTableKey Key(Ctx, NameID); addGlobalFunction() local
1378 ContextTableKey Key(Ctx, TagID); addTag() local
1386 ContextTableKey Key(Ctx, TypedefID); addTypedef() local
[all...]
/llvm-project/llvm/tools/llvm-remarkutil/
H A DRemarkCounter.cpp103 /// Look for matching argument with \p Key in \p Remark and return the parsed
105 static unsigned getValForKey(StringRef Key, const Remark &Remark) { in getValForKey() argument
106 auto *RemarkArg = find_if(Remark.Args, [&Key](const Argument &Arg) { in getValForKey()
107 return Arg.Key == Key && Arg.isValInt(); in getValForKey()
154 for (auto &Key : Arguments) { in getAllMatchingArgumentsInRemark() local
156 if (Key.match(Arg.Key) && Arg.isValInt()) in getAllMatchingArgumentsInRemark()
157 ArgumentSetIdxMap.insert({Arg.Key, ArgumentSetIdxMap.size()}); in getAllMatchingArgumentsInRemark()
194 for (auto [Key, Id in collect()
201 std::optional<std::string> Key = getGroupByKey(Remark); collect() local
319 for (auto &Key : Keys) collectRemarks() local
322 for (auto Key : RKeys) collectRemarks() local
[all...]
/llvm-project/mlir/lib/Dialect/LLVMIR/IR/
H A DTypeDetail.h69 class Key {
72 Key(StringRef name, bool opaque, ArrayRef<Type> types = std::nullopt)
76 Key(ArrayRef<Type> types, bool packed) in Key() function
132 bool operator==(const Key &other) const {
141 Key copyIntoAllocator(TypeStorageAllocator &allocator) const { in copyIntoAllocator()
143 return Key(allocator.copyInto(name), opaque); in copyIntoAllocator()
144 return Key(allocator.copyInto(types), packed); in copyIntoAllocator()
154 using KeyTy = Key;
262 Key getAsKey() const { in getAsKey()
264 return Key(getIdentifier(), isOpaque(), getIdentifiedStructBody()); in getAsKey()
[all …]
/llvm-project/lldb/unittests/Utility/
H A DSharedClusterTest.cpp18 DestructNotifier(std::vector<int> &Queue, int Key) : Queue(Queue), Key(Key) {} in DestructNotifier() argument
19 ~DestructNotifier() { Queue.push_back(Key); } in ~DestructNotifier()
22 const int Key; member in __anon77b8fe3e0111::DestructNotifier
38 ASSERT_EQ(OnePtr->Key, 1); in TEST()
43 ASSERT_EQ(OnePtrCopy->Key, 1); in TEST()
49 ASSERT_EQ(TwoPtr->Key, 2); in TEST()
/llvm-project/llvm/include/llvm/Analysis/
H A DSparsePropagation.h30 // static inline Value *getValueFromLatticeKey(LatticeKey Key);
68 virtual bool IsUntrackedValue(LatticeKey Key) { return false; } in IsUntrackedValue() argument
72 virtual LatticeVal ComputeLatticeVal(LatticeKey Key) { in ComputeLatticeVal() argument
98 virtual void PrintLatticeKey(LatticeKey Key, raw_ostream &OS);
151 LatticeVal getExistingValueState(LatticeKey Key) const {
152 auto I = ValueState.find(Key); in getExistingValueState() argument
159 LatticeVal getValueState(LatticeKey Key);
184 void UpdateState(LatticeKey Key, LatticeVal LV);
219 LatticeKey Key, raw_ostream &OS) { in PrintLatticeKey()
229 SparseSolver<LatticeKey, LatticeVal, KeyInfo>::getValueState(LatticeKey Key) {
220 PrintLatticeKey(LatticeKey Key,raw_ostream & OS) PrintLatticeKey() argument
230 getValueState(LatticeKey Key) getValueState() argument
246 UpdateState(LatticeKey Key,LatticeVal LV) UpdateState() argument
413 LatticeKey Key = KeyInfo::getLatticeKeyFromValue(&PN); visitPHINode() local
507 LatticeKey Key; Print() local
[all...]
/llvm-project/clang/lib/CodeGen/
H A DCGPointerAuthInfo.h29 unsigned Key : 2; variable
35 IsIsaPointer(false), AuthenticatesNullValues(false), Key(0), in CGPointerAuthInfo()
37 CGPointerAuthInfo(unsigned Key, PointerAuthenticationMode AuthenticationMode, in CGPointerAuthInfo() argument
41 AuthenticatesNullValues(AuthenticatesNullValues), Key(Key), in CGPointerAuthInfo()
55 return Key; in getKey()
86 return LHS.Key != RHS.Key || LHS.Discriminator != RHS.Discriminator ||

12345678910>>...29