mmm a / torch / _torch_docs . py <nl> ppp b / torch / _torch_docs . py <nl> def merge_dicts ( * dicts ) : <nl> See : meth : ` ~ torch . svd ` for more details . <nl> <nl> Arguments : <nl> - input ( Tensor ) : The input 2D tensor of dimensions : math : ` m \ times n ` <nl> + input ( Tensor ) : The input tensor of size : math : ` ( * , m , n ) ` where : math : ` * ` is zero or more batch dimensions <nl> rcond ( float ) : A floating point value to determine the cutoff for small singular values . <nl> Default : 1e - 15 <nl> <nl> Returns : <nl> - The pseudo - inverse of : attr : ` input ` of dimensions : math : ` n \ times m ` <nl> + The pseudo - inverse of : attr : ` input ` of dimensions : math : ` ( * , n , m ) ` <nl> <nl> Example : : <nl> <nl> def merge_dicts ( * dicts ) : <nl> [ - 0 . 7124 , - 0 . 1631 , - 0 . 2272 ] , <nl> [ 0 . 1356 , 0 . 3933 , - 0 . 5023 ] , <nl> [ - 0 . 0308 , - 0 . 1725 , - 0 . 5216 ] ] ) <nl> + > > > # Batched pinverse example <nl> + > > > a = torch . randn ( 2 , 6 , 3 ) <nl> + > > > b = torch . pinverse ( a ) <nl> + > > > torch . matmul ( b , a ) <nl> + tensor ( [ [ [ 1 . 0000e + 00 , 1 . 6391e - 07 , - 1 . 1548e - 07 ] , <nl> + [ 8 . 3121e - 08 , 1 . 0000e + 00 , - 2 . 7567e - 07 ] , <nl> + [ 3 . 5390e - 08 , 1 . 4901e - 08 , 1 . 0000e + 00 ] ] , <nl> + <nl> + [ [ 1 . 0000e + 00 , - 8 . 9407e - 08 , 2 . 9802e - 08 ] , <nl> + [ - 2 . 2352e - 07 , 1 . 0000e + 00 , 1 . 1921e - 07 ] , <nl> + [ 0 . 0000e + 00 , 8 . 9407e - 08 , 1 . 0000e + 00 ] ] ] ) <nl> <nl> . . _Moore - Penrose inverse : https : / / en . wikipedia . org / wiki / Moore % E2 % 80 % 93Penrose_inverse <nl> <nl>


mmm a / Docker / Dockerfile <nl> ppp b / Docker / Dockerfile <nl> RUN git clone - b $ branch https : / / github . com / EOSIO / eos . git - - recursive \ <nl> & & cd eos & & echo " $ branch : $ ( git rev - parse HEAD ) " > / etc / eosio - version \ <nl> & & cmake - H . - B " / tmp / build " - GNinja - DCMAKE_BUILD_TYPE = Release - DWASM_ROOT = / opt / wasm - DCMAKE_CXX_COMPILER = clang + + \ <nl> - DCMAKE_C_COMPILER = clang - DCMAKE_INSTALL_PREFIX = / tmp / build - DSecp256k1_ROOT_DIR = / usr / local - DBUILD_MONGO_DB_PLUGIN = true \ <nl> - & & cmake - - build / tmp / build - - target install <nl> + & & cmake - - build / tmp / build - - target install & & rm / tmp / build / bin / eosiocpp <nl> <nl> <nl> FROM ubuntu : 18 . 04 <nl>


mmm a / include / gmock / gmock - matchers . h <nl> ppp b / include / gmock / gmock - matchers . h <nl> class GTEST_API_ Matcher < internal : : string > <nl> Matcher ( const char * s ) ; / / NOLINT <nl> } ; <nl> <nl> + # if GTEST_HAS_STRING_PIECE_ <nl> + / / The following two specializations allow the user to write str <nl> + / / instead of Eq ( str ) and " foo " instead of Eq ( " foo " ) when a StringPiece <nl> + / / matcher is expected . <nl> + template < > <nl> + class GTEST_API_ Matcher < const StringPiece & > <nl> + : public internal : : MatcherBase < const StringPiece & > { <nl> + public : <nl> + Matcher ( ) { } <nl> + <nl> + explicit Matcher ( const MatcherInterface < const StringPiece & > * impl ) <nl> + : internal : : MatcherBase < const StringPiece & > ( impl ) { } <nl> + <nl> + / / Allows the user to write str instead of Eq ( str ) sometimes , where <nl> + / / str is a string object . <nl> + Matcher ( const internal : : string & s ) ; / / NOLINT <nl> + <nl> + / / Allows the user to write " foo " instead of Eq ( " foo " ) sometimes . <nl> + Matcher ( const char * s ) ; / / NOLINT <nl> + <nl> + / / Allows the user to pass StringPieces directly . <nl> + Matcher ( StringPiece s ) ; / / NOLINT <nl> + } ; <nl> + <nl> + template < > <nl> + class GTEST_API_ Matcher < StringPiece > <nl> + : public internal : : MatcherBase < StringPiece > { <nl> + public : <nl> + Matcher ( ) { } <nl> + <nl> + explicit Matcher ( const MatcherInterface < StringPiece > * impl ) <nl> + : internal : : MatcherBase < StringPiece > ( impl ) { } <nl> + <nl> + / / Allows the user to write str instead of Eq ( str ) sometimes , where <nl> + / / str is a string object . <nl> + Matcher ( const internal : : string & s ) ; / / NOLINT <nl> + <nl> + / / Allows the user to write " foo " instead of Eq ( " foo " ) sometimes . <nl> + Matcher ( const char * s ) ; / / NOLINT <nl> + <nl> + / / Allows the user to pass StringPieces directly . <nl> + Matcher ( StringPiece s ) ; / / NOLINT <nl> + } ; <nl> + # endif / / GTEST_HAS_STRING_PIECE_ <nl> + <nl> / / The PolymorphicMatcher class template makes it easy to implement a <nl> / / polymorphic matcher ( i . e . a matcher that can match values of more <nl> / / than one type , e . g . Eq ( n ) and NotNull ( ) ) . <nl> mmm a / src / gmock - matchers . cc <nl> ppp b / src / gmock - matchers . cc <nl> Matcher < internal : : string > : : Matcher ( const char * s ) { <nl> * this = Eq ( internal : : string ( s ) ) ; <nl> } <nl> <nl> + # if GTEST_HAS_STRING_PIECE_ <nl> + / / Constructs a matcher that matches a const StringPiece & whose value is <nl> + / / equal to s . <nl> + Matcher < const StringPiece & > : : Matcher ( const internal : : string & s ) { <nl> + * this = Eq ( s ) ; <nl> + } <nl> + <nl> + / / Constructs a matcher that matches a const StringPiece & whose value is <nl> + / / equal to s . <nl> + Matcher < const StringPiece & > : : Matcher ( const char * s ) { <nl> + * this = Eq ( internal : : string ( s ) ) ; <nl> + } <nl> + <nl> + / / Constructs a matcher that matches a const StringPiece & whose value is <nl> + / / equal to s . <nl> + Matcher < const StringPiece & > : : Matcher ( StringPiece s ) { <nl> + * this = Eq ( s . ToString ( ) ) ; <nl> + } <nl> + <nl> + / / Constructs a matcher that matches a StringPiece whose value is equal to s . <nl> + Matcher < StringPiece > : : Matcher ( const internal : : string & s ) { <nl> + * this = Eq ( s ) ; <nl> + } <nl> + <nl> + / / Constructs a matcher that matches a StringPiece whose value is equal to s . <nl> + Matcher < StringPiece > : : Matcher ( const char * s ) { <nl> + * this = Eq ( internal : : string ( s ) ) ; <nl> + } <nl> + <nl> + / / Constructs a matcher that matches a StringPiece whose value is equal to s . <nl> + Matcher < StringPiece > : : Matcher ( StringPiece s ) { <nl> + * this = Eq ( s . ToString ( ) ) ; <nl> + } <nl> + # endif / / GTEST_HAS_STRING_PIECE_ <nl> + <nl> namespace internal { <nl> <nl> / / Joins a vector of strings as if they are fields of a tuple ; returns <nl> mmm a / test / gmock - matchers_test . cc <nl> ppp b / test / gmock - matchers_test . cc <nl> TEST ( StringMatcherTest , CanBeImplicitlyConstructedFromString ) { <nl> EXPECT_FALSE ( m2 . Matches ( " hello " ) ) ; <nl> } <nl> <nl> + # if GTEST_HAS_STRING_PIECE_ <nl> + / / Tests that a C - string literal can be implicitly converted to a <nl> + / / Matcher < StringPiece > or Matcher < const StringPiece & > . <nl> + TEST ( StringPieceMatcherTest , CanBeImplicitlyConstructedFromCStringLiteral ) { <nl> + Matcher < StringPiece > m1 = " cats " ; <nl> + EXPECT_TRUE ( m1 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m1 . Matches ( " dogs " ) ) ; <nl> + <nl> + Matcher < const StringPiece & > m2 = " cats " ; <nl> + EXPECT_TRUE ( m2 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m2 . Matches ( " dogs " ) ) ; <nl> + } <nl> + <nl> + / / Tests that a string object can be implicitly converted to a <nl> + / / Matcher < StringPiece > or Matcher < const StringPiece & > . <nl> + TEST ( StringPieceMatcherTest , CanBeImplicitlyConstructedFromString ) { <nl> + Matcher < StringPiece > m1 = string ( " cats " ) ; <nl> + EXPECT_TRUE ( m1 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m1 . Matches ( " dogs " ) ) ; <nl> + <nl> + Matcher < const StringPiece & > m2 = string ( " cats " ) ; <nl> + EXPECT_TRUE ( m2 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m2 . Matches ( " dogs " ) ) ; <nl> + } <nl> + <nl> + / / Tests that a StringPiece object can be implicitly converted to a <nl> + / / Matcher < StringPiece > or Matcher < const StringPiece & > . <nl> + TEST ( StringPieceMatcherTest , CanBeImplicitlyConstructedFromStringPiece ) { <nl> + Matcher < StringPiece > m1 = StringPiece ( " cats " ) ; <nl> + EXPECT_TRUE ( m1 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m1 . Matches ( " dogs " ) ) ; <nl> + <nl> + Matcher < const StringPiece & > m2 = StringPiece ( " cats " ) ; <nl> + EXPECT_TRUE ( m2 . Matches ( " cats " ) ) ; <nl> + EXPECT_FALSE ( m2 . Matches ( " dogs " ) ) ; <nl> + } <nl> + # endif / / GTEST_HAS_STRING_PIECE_ <nl> + <nl> / / Tests that MakeMatcher ( ) constructs a Matcher < T > from a <nl> / / MatcherInterface * without requiring the user to explicitly <nl> / / write the type . <nl>

Adds special support for matching StringPiece . Pulls in gtest r646 .


mmm a / tensorflow / compiler / jit / xla_device_context . cc <nl> ppp b / tensorflow / compiler / jit / xla_device_context . cc <nl> void XlaDeviceAllocator : : DeallocateRaw ( void * ptr ) { <nl> delete XlaTensor : : FromOpaquePointer ( ptr ) ; <nl> } <nl> <nl> - AllocatorStats XlaDeviceAllocator : : GetStats ( ) { <nl> - stream_executor : : AllocatorStats se_stats = <nl> + absl : : optional < AllocatorStats > XlaDeviceAllocator : : GetStats ( ) { <nl> + absl : : optional < stream_executor : : AllocatorStats > se_stats = <nl> stream_executor_ - > GetAllocatorStats ( ) ; <nl> + if ( ! se_stats ) { <nl> + return absl : : nullopt ; <nl> + } <nl> <nl> tensorflow : : AllocatorStats tf_stats ; <nl> - tf_stats . num_allocs = se_stats . num_allocs ; <nl> - tf_stats . bytes_in_use = se_stats . bytes_in_use ; <nl> - tf_stats . peak_bytes_in_use = se_stats . peak_bytes_in_use ; <nl> - tf_stats . largest_alloc_size = se_stats . largest_alloc_size ; <nl> - tf_stats . bytes_limit = se_stats . bytes_limit ; <nl> + tf_stats . num_allocs = se_stats - > num_allocs ; <nl> + tf_stats . bytes_in_use = se_stats - > bytes_in_use ; <nl> + tf_stats . peak_bytes_in_use = se_stats - > peak_bytes_in_use ; <nl> + tf_stats . largest_alloc_size = se_stats - > largest_alloc_size ; <nl> + tf_stats . bytes_limit = se_stats - > bytes_limit ; <nl> return tf_stats ; <nl> } <nl> <nl> mmm a / tensorflow / compiler / jit / xla_device_context . h <nl> ppp b / tensorflow / compiler / jit / xla_device_context . h <nl> class XlaDeviceAllocator : public Allocator { <nl> <nl> void * AllocateRaw ( size_t alignment , size_t num_bytes ) override ; <nl> void DeallocateRaw ( void * ptr ) override ; <nl> - AllocatorStats GetStats ( ) override ; <nl> + absl : : optional < AllocatorStats > GetStats ( ) override ; <nl> <nl> private : <nl> / / The stream executor of the device . <nl> mmm a / tensorflow / contrib / memory_stats / kernels / memory_stats_ops . cc <nl> ppp b / tensorflow / contrib / memory_stats / kernels / memory_stats_ops . cc <nl> class MemoryStatsOp : public OpKernel { <nl> void Compute ( OpKernelContext * context ) override { <nl> Allocator * allocator = <nl> context - > device ( ) - > GetAllocator ( AllocatorAttributes ( ) ) ; <nl> - AllocatorStats allocator_stats = allocator - > GetStats ( ) ; <nl> + absl : : optional < AllocatorStats > allocator_stats = allocator - > GetStats ( ) ; <nl> + if ( ! allocator_stats ) { <nl> + * allocator_stats = AllocatorStats ( ) ; <nl> + } <nl> <nl> Tensor * output_tensor = nullptr ; <nl> OP_REQUIRES_OK ( <nl> context , context - > allocate_output ( 0 , TensorShape ( { } ) , & output_tensor ) ) ; <nl> - output_tensor - > scalar < int64 > ( ) ( ) = ExtractAllocatorStats ( allocator_stats ) ; <nl> + output_tensor - > scalar < int64 > ( ) ( ) = ExtractAllocatorStats ( * allocator_stats ) ; <nl> } <nl> <nl> protected : <nl> class BytesLimitOp : public MemoryStatsOp { <nl> private : <nl> int64 ExtractAllocatorStats ( <nl> const AllocatorStats & allocator_stats ) const override { <nl> - return allocator_stats . bytes_limit ; <nl> + return allocator_stats . bytes_limit ? * allocator_stats . bytes_limit : - 1 ; <nl> } <nl> } ; <nl> <nl> mmm a / tensorflow / core / common_runtime / bfc_allocator . cc <nl> ppp b / tensorflow / core / common_runtime / bfc_allocator . cc <nl> void BFCAllocator : : DumpMemoryLog ( size_t num_bytes ) { <nl> LOG ( INFO ) < < " Stats : \ n " < < stats_ . DebugString ( ) ; <nl> } <nl> <nl> - AllocatorStats BFCAllocator : : GetStats ( ) { <nl> + absl : : optional < AllocatorStats > BFCAllocator : : GetStats ( ) { <nl> mutex_lock l ( lock_ ) ; <nl> return stats_ ; <nl> } <nl> mmm a / tensorflow / core / common_runtime / bfc_allocator . h <nl> ppp b / tensorflow / core / common_runtime / bfc_allocator . h <nl> class BFCAllocator : public Allocator { <nl> <nl> int64 AllocationId ( const void * ptr ) override ; <nl> <nl> - AllocatorStats GetStats ( ) override ; <nl> + absl : : optional < AllocatorStats > GetStats ( ) override ; <nl> <nl> void ClearStats ( ) override ; <nl> <nl> mmm a / tensorflow / core / common_runtime / eager / kernel_and_device . cc <nl> ppp b / tensorflow / core / common_runtime / eager / kernel_and_device . cc <nl> void UpdateStats ( OpKernelContext * context , <nl> memory - > set_peak_bytes ( std : : get < 1 > ( sizes ) ) ; <nl> memory - > set_live_bytes ( std : : get < 2 > ( sizes ) ) ; <nl> <nl> - AllocatorStats allocator_stats = allocator_pair . first - > GetStats ( ) ; <nl> - memory - > set_allocator_bytes_in_use ( allocator_stats . bytes_in_use ) ; <nl> + absl : : optional < AllocatorStats > allocator_stats = <nl> + allocator_pair . first - > GetStats ( ) ; <nl> + if ( stats ) { <nl> + memory - > set_allocator_bytes_in_use ( allocator_stats - > bytes_in_use ) ; <nl> + } <nl> allocator_pair . second - > GetRecordsAndUnRef ( ) ; <nl> } <nl> auto * ms = stats - > mutable_memory_stats ( ) ; <nl> mmm a / tensorflow / core / common_runtime / gpu / gpu_bfc_allocator_test . cc <nl> ppp b / tensorflow / core / common_runtime / gpu / gpu_bfc_allocator_test . cc <nl> namespace { <nl> <nl> static void CheckStats ( Allocator * a , int64 num_allocs , int64 bytes_in_use , <nl> int64 peak_bytes_in_use , int64 largest_alloc_size ) { <nl> - AllocatorStats stats = a - > GetStats ( ) ; <nl> - LOG ( INFO ) < < " Alloc stats : " < < std : : endl < < stats . DebugString ( ) ; <nl> - EXPECT_EQ ( stats . bytes_in_use , bytes_in_use ) ; <nl> - EXPECT_EQ ( stats . peak_bytes_in_use , peak_bytes_in_use ) ; <nl> - EXPECT_EQ ( stats . num_allocs , num_allocs ) ; <nl> - EXPECT_EQ ( stats . largest_alloc_size , largest_alloc_size ) ; <nl> + absl : : optional < AllocatorStats > stats = a - > GetStats ( ) ; <nl> + EXPECT_TRUE ( stats ) ; <nl> + if ( ! stats ) { <nl> + return ; <nl> + } <nl> + LOG ( INFO ) < < " Alloc stats : " < < std : : endl < < stats - > DebugString ( ) ; <nl> + EXPECT_EQ ( stats - > bytes_in_use , bytes_in_use ) ; <nl> + EXPECT_EQ ( stats - > peak_bytes_in_use , peak_bytes_in_use ) ; <nl> + EXPECT_EQ ( stats - > num_allocs , num_allocs ) ; <nl> + EXPECT_EQ ( stats - > largest_alloc_size , largest_alloc_size ) ; <nl> } <nl> <nl> TEST ( GPUBFCAllocatorTest , NoDups ) { <nl> TEST ( GPUBFCAllocatorTest , AllocationsAndDeallocationsWithGrowth ) { <nl> a . DeallocateRaw ( existing_ptrs [ i ] ) ; <nl> } <nl> <nl> - AllocatorStats stats = a . GetStats ( ) ; <nl> - LOG ( INFO ) < < " Alloc stats : \ n " < < stats . DebugString ( ) ; <nl> + absl : : optional < AllocatorStats > stats = a . GetStats ( ) ; <nl> + if ( stats ) { <nl> + LOG ( INFO ) < < " Alloc stats : \ n " < < stats - > DebugString ( ) ; <nl> + } <nl> } <nl> <nl> TEST ( GPUBFCAllocatorTest , DISABLED_AllocatorReceivesZeroMemory ) { <nl> mmm a / tensorflow / core / common_runtime / gpu / gpu_debug_allocator . cc <nl> ppp b / tensorflow / core / common_runtime / gpu / gpu_debug_allocator . cc <nl> int64 GPUDebugAllocator : : AllocationId ( const void * ptr ) { <nl> MASK_BYTES ) ; <nl> } <nl> <nl> - AllocatorStats GPUDebugAllocator : : GetStats ( ) { <nl> + absl : : optional < AllocatorStats > GPUDebugAllocator : : GetStats ( ) { <nl> return base_allocator_ - > GetStats ( ) ; <nl> } <nl> <nl> size_t GPUNanResetAllocator : : AllocatedSize ( const void * ptr ) { <nl> return base_allocator_ - > AllocatedSize ( ptr ) ; <nl> } <nl> <nl> - AllocatorStats GPUNanResetAllocator : : GetStats ( ) { <nl> + absl : : optional < AllocatorStats > GPUNanResetAllocator : : GetStats ( ) { <nl> return base_allocator_ - > GetStats ( ) ; <nl> } <nl> <nl> mmm a / tensorflow / core / common_runtime / gpu / gpu_debug_allocator . h <nl> ppp b / tensorflow / core / common_runtime / gpu / gpu_debug_allocator . h <nl> class GPUDebugAllocator : public Allocator { <nl> size_t RequestedSize ( const void * ptr ) override ; <nl> size_t AllocatedSize ( const void * ptr ) override ; <nl> int64 AllocationId ( const void * ptr ) override ; <nl> - AllocatorStats GetStats ( ) override ; <nl> + absl : : optional < AllocatorStats > GetStats ( ) override ; <nl> void ClearStats ( ) override ; <nl> <nl> / / For testing . <nl> class GPUNanResetAllocator : public Allocator { <nl> void DeallocateRaw ( void * ptr ) override ; <nl> size_t RequestedSize ( const void * ptr ) override ; <nl> size_t AllocatedSize ( const void * ptr ) override ; <nl> - AllocatorStats GetStats ( ) override ; <nl> + absl : : optional < AllocatorStats > GetStats ( ) override ; <nl> void ClearStats ( ) override ; <nl> <nl> private : <nl> mmm a / tensorflow / core / common_runtime / gpu / gpu_device . cc <nl> ppp b / tensorflow / core / common_runtime / gpu / gpu_device . cc <nl> Status BaseGPUDeviceFactory : : CreateGPUDevice ( <nl> tf_gpu_id . value ( ) , " with " , memory_limit , <nl> " bytes of memory . " ) ; <nl> } <nl> - AllocatorStats stats = gpu_allocator - > GetStats ( ) ; <nl> + absl : : optional < AllocatorStats > stats = gpu_allocator - > GetStats ( ) ; <nl> + if ( ! stats ) { <nl> + return errors : : Internal ( " No allocator statistics " ) ; <nl> + } <nl> / / ' memory_limit ' is the required memory size , but if the allocator with given <nl> / / tf_gpu_id was created before , we ' ll use it instead of creating a new one <nl> / / ( as TF gpu device is a shared resource ) , in which case the actual memory <nl> Status BaseGPUDeviceFactory : : CreateGPUDevice ( <nl> / / different ( which should be an error ) . <nl> / / <nl> / / TODO ( laigd ) : report error if memory_limit doesn ' t match stats - > bytes_limit . <nl> - int64 bytes_limit = stats . bytes_limit ; <nl> + int64 bytes_limit = stats - > bytes_limit ? * stats - > bytes_limit : 0 ; <nl> std : : unique_ptr < BaseGPUDevice > gpu_device = CreateGPUDevice ( <nl> options , device_name , static_cast < Bytes > ( bytes_limit ) , dev_locality , <nl> tf_gpu_id , GetShortDeviceDescription ( platform_gpu_id , desc ) , <nl> mmm a / tensorflow / core / common_runtime / process_state . h <nl> ppp b / tensorflow / core / common_runtime / process_state . h <nl> class RecordingAllocator : public Allocator { <nl> bool TracksAllocationSizes ( ) override { return a_ - > TracksAllocationSizes ( ) ; } <nl> size_t RequestedSize ( const void * p ) override { return a_ - > RequestedSize ( p ) ; } <nl> size_t AllocatedSize ( const void * p ) override { return a_ - > AllocatedSize ( p ) ; } <nl> - AllocatorStats GetStats ( ) override { return a_ - > GetStats ( ) ; } <nl> + absl : : optional < AllocatorStats > GetStats ( ) override { return a_ - > GetStats ( ) ; } <nl> void ClearStats ( ) override { a_ - > ClearStats ( ) ; } <nl> ProcessState : : MDMap * mm_ ; / / not owned <nl> Allocator * a_ ; / / not owned <nl> mmm a / tensorflow / core / common_runtime / step_stats_collector . cc <nl> ppp b / tensorflow / core / common_runtime / step_stats_collector . cc <nl> void NodeExecStatsWrapper : : AddAllocation ( <nl> memory - > set_peak_bytes ( std : : get < 1 > ( sizes ) ) ; <nl> memory - > set_live_bytes ( std : : get < 2 > ( sizes ) ) ; <nl> <nl> - AllocatorStats stats = allocator - > GetStats ( ) ; <nl> - memory - > set_allocator_bytes_in_use ( stats . bytes_in_use ) ; <nl> + absl : : optional < AllocatorStats > stats = allocator - > GetStats ( ) ; <nl> + if ( stats ) { <nl> + memory - > set_allocator_bytes_in_use ( stats - > bytes_in_use ) ; <nl> + } <nl> allocations_ . push_back ( std : : make_pair ( memory , tracking_allocator ) ) ; <nl> } <nl> <nl> mmm a / tensorflow / core / framework / allocator . cc <nl> ppp b / tensorflow / core / framework / allocator . cc <nl> string AllocatorStats : : DebugString ( ) const { <nl> " MaxInUse : % 20lld \ n " <nl> " NumAllocs : % 20lld \ n " <nl> " MaxAllocSize : % 20lld \ n " , <nl> - this - > bytes_limit , this - > bytes_in_use , this - > peak_bytes_in_use , <nl> - this - > num_allocs , this - > largest_alloc_size ) ; <nl> + this - > bytes_limit ? * this - > bytes_limit : 0 , this - > bytes_in_use , <nl> + this - > peak_bytes_in_use , this - > num_allocs , this - > largest_alloc_size ) ; <nl> } <nl> <nl> constexpr size_t Allocator : : kAllocatorAlignment ; <nl> class CPUAllocator : public Allocator { <nl> port : : AlignedFree ( ptr ) ; <nl> } <nl> <nl> - AllocatorStats GetStats ( ) override { <nl> + absl : : optional < AllocatorStats > GetStats ( ) override { <nl> mutex_lock l ( mu_ ) ; <nl> return stats_ ; <nl> } <nl> mmm a / tensorflow / core / framework / allocator . h <nl> ppp b / tensorflow / core / framework / allocator . h <nl> limitations under the License . <nl> <nl> # include < limits > <nl> <nl> + # include " absl / strings / string_view . h " <nl> + # include " absl / types / optional . h " <nl> # include " tensorflow / core / framework / numeric_types . h " <nl> # include " tensorflow / core / framework / resource_handle . h " <nl> # include " tensorflow / core / framework / type_traits . h " <nl> struct AllocatorStats { <nl> int64 largest_alloc_size ; / / The largest single allocation seen . <nl> <nl> / / The upper limit of bytes of user allocatable device memory , if such a limit <nl> - / / is known . Certain allocators may return 0 to indicate the limit is unknown . <nl> - int64 bytes_limit ; <nl> + / / is known . <nl> + absl : : optional < int64 > bytes_limit ; <nl> <nl> AllocatorStats ( ) <nl> : num_allocs ( 0 ) , <nl> bytes_in_use ( 0 ) , <nl> peak_bytes_in_use ( 0 ) , <nl> - largest_alloc_size ( 0 ) , <nl> - bytes_limit ( 0 ) { } <nl> + largest_alloc_size ( 0 ) { } <nl> <nl> string DebugString ( ) const ; <nl> } ; <nl> class Allocator { <nl> } <nl> <nl> / / Fills in ' stats ' with statistics collected by this allocator . <nl> - virtual AllocatorStats GetStats ( ) { return AllocatorStats ( ) ; } <nl> + virtual absl : : optional < AllocatorStats > GetStats ( ) { return absl : : nullopt ; } <nl> <nl> / / Clears the internal stats except for the ` in_use ` field . <nl> virtual void ClearStats ( ) { } <nl> mmm a / tensorflow / core / framework / allocator_test . cc <nl> ppp b / tensorflow / core / framework / allocator_test . cc <nl> namespace tensorflow { <nl> <nl> static void CheckStats ( Allocator * a , int64 num_allocs , int64 bytes_in_use , <nl> int64 peak_bytes_in_use , int64 largest_alloc_size ) { <nl> - AllocatorStats stats = a - > GetStats ( ) ; <nl> - LOG ( INFO ) < < " Alloc stats : \ n " < < stats . DebugString ( ) ; <nl> + absl : : optional < AllocatorStats > stats = a - > GetStats ( ) ; <nl> + EXPECT_TRUE ( stats ) ; <nl> + if ( ! stats ) { <nl> + return ; <nl> + } <nl> + LOG ( INFO ) < < " Alloc stats : \ n " < < stats - > DebugString ( ) ; <nl> # if defined ( PLATFORM_GOOGLE ) & & defined ( NDEBUG ) <nl> / / NOTE : allocator stats expectation depends on the system malloc , <nl> / / and can vary as that changes . <nl> static const int64 kSlop = 5 * 1024 ; <nl> - EXPECT_GT ( stats . bytes_in_use , bytes_in_use - kSlop ) ; <nl> - EXPECT_LT ( stats . bytes_in_use , bytes_in_use + kSlop ) ; <nl> - EXPECT_GT ( stats . peak_bytes_in_use , peak_bytes_in_use - kSlop ) ; <nl> - EXPECT_LT ( stats . peak_bytes_in_use , peak_bytes_in_use + kSlop ) ; <nl> - EXPECT_EQ ( stats . num_allocs , num_allocs ) ; <nl> - EXPECT_EQ ( stats . largest_alloc_size , largest_alloc_size ) ; <nl> + EXPECT_GT ( stats - > bytes_in_use , bytes_in_use - kSlop ) ; <nl> + EXPECT_LT ( stats - > bytes_in_use , bytes_in_use + kSlop ) ; <nl> + EXPECT_GT ( stats - > peak_bytes_in_use , peak_bytes_in_use - kSlop ) ; <nl> + EXPECT_LT ( stats - > peak_bytes_in_use , peak_bytes_in_use + kSlop ) ; <nl> + EXPECT_EQ ( stats - > num_allocs , num_allocs ) ; <nl> + EXPECT_EQ ( stats - > largest_alloc_size , largest_alloc_size ) ; <nl> # endif <nl> } <nl> <nl> mmm a / tensorflow / core / framework / tracking_allocator . cc <nl> ppp b / tensorflow / core / framework / tracking_allocator . cc <nl> int64 TrackingAllocator : : AllocationId ( const void * ptr ) { <nl> } <nl> } <nl> <nl> - AllocatorStats TrackingAllocator : : GetStats ( ) { return allocator_ - > GetStats ( ) ; } <nl> + absl : : optional < AllocatorStats > TrackingAllocator : : GetStats ( ) { <nl> + return allocator_ - > GetStats ( ) ; <nl> + } <nl> <nl> void TrackingAllocator : : ClearStats ( ) { allocator_ - > ClearStats ( ) ; } <nl> <nl> mmm a / tensorflow / core / framework / tracking_allocator . h <nl> ppp b / tensorflow / core / framework / tracking_allocator . h <nl> class TrackingAllocator : public Allocator { <nl> size_t RequestedSize ( const void * ptr ) override ; <nl> size_t AllocatedSize ( const void * ptr ) override ; <nl> int64 AllocationId ( const void * ptr ) override ; <nl> - AllocatorStats GetStats ( ) override ; <nl> + absl : : optional < AllocatorStats > GetStats ( ) override ; <nl> void ClearStats ( ) override ; <nl> <nl> / / If the underlying allocator tracks allocation sizes , this returns <nl> mmm a / tensorflow / core / framework / tracking_allocator_test . cc <nl> ppp b / tensorflow / core / framework / tracking_allocator_test . cc <nl> class TestableSizeTrackingAllocator : public Allocator { <nl> EXPECT_NE ( size_map_ . end ( ) , iter ) ; <nl> return iter - > second ; <nl> } <nl> + absl : : optional < AllocatorStats > GetStats ( ) override { return absl : : nullopt ; } <nl> <nl> private : <nl> std : : unordered_map < const void * , size_t > size_map_ ; <nl> class NoMemoryAllocator : public Allocator { <nl> } <nl> void DeallocateRaw ( void * ptr ) override { } <nl> bool TracksAllocationSizes ( ) override { return true ; } <nl> + absl : : optional < AllocatorStats > GetStats ( ) override { return absl : : nullopt ; } <nl> } ; <nl> <nl> TEST ( TrackingAllocatorTest , SimpleNoTracking ) { <nl> mmm a / tensorflow / core / grappler / clusters / single_machine . cc <nl> ppp b / tensorflow / core / grappler / clusters / single_machine . cc <nl> Status SingleMachine : : GetPeakMemoryUsage ( <nl> return Status ( error : : INVALID_ARGUMENT , <nl> " Tracking allocation is not enabled . " ) ; <nl> } <nl> - AllocatorStats stats = allocator - > GetStats ( ) ; <nl> - ( * device_peak_memory ) [ device - > name ( ) ] = stats . peak_bytes_in_use ; <nl> + absl : : optional < AllocatorStats > stats = allocator - > GetStats ( ) ; <nl> + ( * device_peak_memory ) [ device - > name ( ) ] = <nl> + ( stats ? stats - > peak_bytes_in_use : 0 ) ; <nl> } <nl> <nl> return Status : : OK ( ) ; <nl> mmm a / tensorflow / core / kernels / stack . cc <nl> ppp b / tensorflow / core / kernels / stack . cc <nl> void StackPushOp : : ComputeAsync ( OpKernelContext * ctx , DoneCallback done ) { <nl> DeviceContext * device_ctxt = ctx - > op_device_context ( ) ; <nl> auto device = static_cast < tensorflow : : Device * > ( ctx - > device ( ) ) ; <nl> Allocator * allocator = device - > GetAllocator ( alloc_attrs ) ; <nl> - AllocatorStats stats = allocator - > GetStats ( ) ; <nl> - if ( stats . bytes_limit & & <nl> - stats . bytes_in_use > ( stats . bytes_limit * kOccupancy ) ) { <nl> + absl : : optional < AllocatorStats > stats = allocator - > GetStats ( ) ; <nl> + if ( stats & & * stats - > bytes_limit & & <nl> + stats - > bytes_in_use > ( * stats - > bytes_limit * kOccupancy ) ) { <nl> / / Asynchronously copy the tensor from GPU to CPU memory . <nl> / / TODO ( yuanbyu ) : Swap the oldest tensor first . <nl> AllocatorAttributes host_alloc_attrs ; <nl> mmm a / tensorflow / stream_executor / BUILD <nl> ppp b / tensorflow / stream_executor / BUILD <nl> cc_library ( <nl> " / / tensorflow / core : lib " , <nl> " / / tensorflow / stream_executor / lib " , <nl> " / / tensorflow / stream_executor / platform " , <nl> + " @ com_google_absl / / absl / base : core_headers " , <nl> " @ com_google_absl / / absl / types : optional " , <nl> " @ com_google_absl / / absl / types : span " , <nl> ] , <nl> cc_library ( <nl> " / / tensorflow / stream_executor / platform " , <nl> " @ com_google_absl / / absl / base : core_headers " , <nl> " @ com_google_absl / / absl / strings " , <nl> + " @ com_google_absl / / absl / types : optional " , <nl> ] , <nl> ) <nl> <nl> cc_library ( <nl> deps = [ <nl> " / / tensorflow / stream_executor / platform " , <nl> " @ com_google_absl / / absl / strings : str_format " , <nl> + " @ com_google_absl / / absl / types : optional " , <nl> ] , <nl> ) <nl> <nl> mmm a / tensorflow / stream_executor / allocator_stats . cc <nl> ppp b / tensorflow / stream_executor / allocator_stats . cc <nl> string AllocatorStats : : DebugString ( ) const { <nl> " MaxInUse : % 20lld \ n " <nl> " NumAllocs : % 20lld \ n " <nl> " MaxAllocSize : % 20lld \ n " , <nl> - this - > bytes_limit , this - > bytes_in_use , this - > peak_bytes_in_use , <nl> - this - > num_allocs , this - > largest_alloc_size ) ; <nl> + this - > bytes_limit ? * this - > bytes_limit : 0 , this - > bytes_in_use , <nl> + this - > peak_bytes_in_use , this - > num_allocs , this - > largest_alloc_size ) ; <nl> } <nl> <nl> } / / namespace stream_executor <nl> mmm a / tensorflow / stream_executor / allocator_stats . h <nl> ppp b / tensorflow / stream_executor / allocator_stats . h <nl> limitations under the License . <nl> <nl> # include < string > <nl> <nl> + # include " absl / types / optional . h " <nl> # include " tensorflow / stream_executor / platform / port . h " <nl> <nl> namespace stream_executor { <nl> struct AllocatorStats { <nl> int64 largest_alloc_size ; / / The largest single allocation seen . <nl> <nl> / / The upper limit of bytes of user allocatable device memory , if such a limit <nl> - / / is known . Certain allocators may return 0 to indicate the limit is unknown . <nl> - int64 bytes_limit ; <nl> + / / is known . <nl> + absl : : optional < int64 > bytes_limit ; <nl> <nl> AllocatorStats ( ) <nl> : num_allocs ( 0 ) , <nl> bytes_in_use ( 0 ) , <nl> peak_bytes_in_use ( 0 ) , <nl> - largest_alloc_size ( 0 ) , <nl> - bytes_limit ( 0 ) { } <nl> + largest_alloc_size ( 0 ) { } <nl> <nl> string DebugString ( ) const ; <nl> } ; <nl> mmm a / tensorflow / stream_executor / stream_executor_internal . h <nl> ppp b / tensorflow / stream_executor / stream_executor_internal . h <nl> class StreamExecutorInterface { <nl> virtual void * GpuContextHack ( ) { return nullptr ; } <nl> <nl> / / Return allocator statistics . <nl> - virtual AllocatorStats GetAllocatorStats ( ) { return AllocatorStats ( ) ; } <nl> + virtual absl : : optional < AllocatorStats > GetAllocatorStats ( ) { <nl> + return absl : : nullopt ; <nl> + } <nl> <nl> private : <nl> SE_DISALLOW_COPY_AND_ASSIGN ( StreamExecutorInterface ) ; <nl> mmm a / tensorflow / stream_executor / stream_executor_pimpl . cc <nl> ppp b / tensorflow / stream_executor / stream_executor_pimpl . cc <nl> bool StreamExecutor : : UnregisterTraceListener ( TraceListener * listener ) { <nl> return true ; <nl> } <nl> <nl> - AllocatorStats StreamExecutor : : GetAllocatorStats ( ) { <nl> + absl : : optional < AllocatorStats > StreamExecutor : : GetAllocatorStats ( ) { <nl> return implementation_ - > GetAllocatorStats ( ) ; <nl> } <nl> <nl> mmm a / tensorflow / stream_executor / stream_executor_pimpl . h <nl> ppp b / tensorflow / stream_executor / stream_executor_pimpl . h <nl> limitations under the License . <nl> # include < vector > <nl> <nl> # include " absl / base / macros . h " <nl> + # include " absl / types / optional . h " <nl> # include " tensorflow / stream_executor / lib / status . h " <nl> # include " tensorflow / stream_executor / lib / statusor . h " <nl> # include " tensorflow / stream_executor / lib / threadpool . h " <nl> class StreamExecutor { <nl> bool UnregisterTraceListener ( TraceListener * listener ) ; <nl> <nl> / / Return allocator statistics . <nl> - AllocatorStats GetAllocatorStats ( ) ; <nl> + absl : : optional < AllocatorStats > GetAllocatorStats ( ) ; <nl> <nl> private : <nl> template < typename BeginCallT , typename CompleteCallT , <nl>

Automated rollback of commit 9ca8321d68b74ce4f30756366919c80282ca2b68


mmm a / cocos / platform / android / jni / JniHelper . cpp <nl> ppp b / cocos / platform / android / jni / JniHelper . cpp <nl> THE SOFTWARE . <nl> <nl> # define LOG_TAG " JniHelper " <nl> # define LOGD ( . . . ) __android_log_print ( ANDROID_LOG_DEBUG , LOG_TAG , __VA_ARGS__ ) <nl> + # define LOGE ( . . . ) __android_log_print ( ANDROID_LOG_ERROR , LOG_TAG , __VA_ARGS__ ) <nl> <nl> static pthread_key_t g_key ; <nl> <nl> jclass _getClassID ( const char * className ) { <nl> _jstrClassName ) ; <nl> <nl> if ( NULL = = _clazz ) { <nl> - LOGD ( " Classloader failed to find class of % s " , className ) ; <nl> + LOGE ( " Classloader failed to find class of % s " , className ) ; <nl> + env - > ExceptionClear ( ) ; <nl> } <nl> <nl> env - > DeleteLocalRef ( _jstrClassName ) ; <nl> namespace cocos2d { <nl> <nl> if ( jvm - > AttachCurrentThread ( & _env , NULL ) < 0 ) <nl> { <nl> - LOGD ( " Failed to get the environment using AttachCurrentThread ( ) " ) ; <nl> + LOGE ( " Failed to get the environment using AttachCurrentThread ( ) " ) ; <nl> <nl> return NULL ; <nl> } else { <nl> namespace cocos2d { <nl> <nl> case JNI_EVERSION : <nl> / / Cannot recover from this error <nl> - LOGD ( " JNI interface version 1 . 4 not supported " ) ; <nl> + LOGE ( " JNI interface version 1 . 4 not supported " ) ; <nl> default : <nl> - LOGD ( " Failed to get the environment using GetEnv ( ) " ) ; <nl> + LOGE ( " Failed to get the environment using GetEnv ( ) " ) ; <nl> return NULL ; <nl> } <nl> } <nl> namespace cocos2d { <nl> <nl> JNIEnv * pEnv = JniHelper : : getEnv ( ) ; <nl> if ( ! pEnv ) { <nl> - LOGD ( " Failed to get JNIEnv " ) ; <nl> + LOGE ( " Failed to get JNIEnv " ) ; <nl> return false ; <nl> } <nl> <nl> jclass classID = _getClassID ( className ) ; <nl> if ( ! classID ) { <nl> - LOGD ( " Failed to find class % s " , className ) ; <nl> + LOGE ( " Failed to find class % s " , className ) ; <nl> + pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl> <nl> jmethodID methodID = pEnv - > GetStaticMethodID ( classID , methodName , paramCode ) ; <nl> if ( ! methodID ) { <nl> - LOGD ( " Failed to find static method id of % s " , methodName ) ; <nl> + LOGE ( " Failed to find static method id of % s " , methodName ) ; <nl> + pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl> <nl> namespace cocos2d { <nl> <nl> jclass classID = pEnv - > FindClass ( className ) ; <nl> if ( ! classID ) { <nl> - LOGD ( " Failed to find class % s " , className ) ; <nl> + LOGE ( " Failed to find class % s " , className ) ; <nl> + pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl> <nl> jmethodID methodID = pEnv - > GetMethodID ( classID , methodName , paramCode ) ; <nl> if ( ! methodID ) { <nl> - LOGD ( " Failed to find method id of % s " , methodName ) ; <nl> + LOGE ( " Failed to find method id of % s " , methodName ) ; <nl> + pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl> <nl> namespace cocos2d { <nl> <nl> jclass classID = _getClassID ( className ) ; <nl> if ( ! classID ) { <nl> - LOGD ( " Failed to find class % s " , className ) ; <nl> + LOGE ( " Failed to find class % s " , className ) ; <nl> pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl> <nl> jmethodID methodID = pEnv - > GetMethodID ( classID , methodName , paramCode ) ; <nl> if ( ! methodID ) { <nl> - LOGD ( " Failed to find method id of % s " , methodName ) ; <nl> + LOGE ( " Failed to find method id of % s " , methodName ) ; <nl> pEnv - > ExceptionClear ( ) ; <nl> return false ; <nl> } <nl>

android uni error clear & more readable log


Ticking away the moments that make up a dull day
Fritter and waste the hours in an offhand way
Kicking around on a piece of ground in your hometown
Waiting for someone or something to show you the way
Tired of lying in the sunshine, staying home to watch the rain
You are young and life is long and there is time to kill today
And then one day you find ten years have got behind you
No one told you when to run, you missed the starting gun
And you run, and you run to catch up with the sun, but its sinking
Racing around to come up behind you again
The sun is the same in a relative way, but youre older
Shorter of breath, and one day closer to death
Every year is getting shorter, never seem to find the time
Plans that either come to naught or half a page of scribbled lines
Hanging on in quiet desperation is the English way
The time is gone, the song is over, thought Id something more to say
Home, home again
I like to be here when I can
And when I come home cold and tired
Its good to warm my bones beside the fire
Far away across the field
The tolling of the iron bell
Calls the faithful to their knees
To hear the softly spoken magic spells


Hello?
Is there anybody in there?
Just nod if you can hear me
Is there anyone home?
Come on , now
I hear youre feeling down
Well, I can ease your pain
And get you on your feet again
Relax
Ill need some information first
Just the basic facts
Can you show me where it hurts?
There is no pain, you are receding
A distant ship, smoke on the horizon
You are only coming through in waves
Your lips move, but I cant hear what youre saying
When I was a child, I had a fever
My hands felt just like two balloons
Now Ive got that feeling once again
I cant explain, you would not understand
This is not how I am
I have become comfortably numb
I have become comfortably numb
Okay
Just a little pinprick
Therell be no more
But you may feel a little sick
Can you stand up?
I do believe its working, good
Thatll keep you going through the show
Come on, its time to go
There is no pain, you are receding
A distant ship, smoke on the horizon
You are only coming through in waves
Your lips move, but I cant hear what youre saying
When I was a child, I caught a fleeting glimpse
Out of the corner of my eye
I turned to look, but it was gone
I cannot put my finger on it now
The child is grown, the dream is gone
I have become comfortably numb


We dont need no education
We dont need no thought control
No dark sarcasm in the classroom
Teacher, leave them kids alone
Hey! Teacher! Leave them kids alone!
All in all, its just another brick in the wall
All in all, youre just another brick in the wall
We dont need no education
We dont need no thought control
No dark sarcasm in the classroom
Teachers, leave them kids alone
Hey! Teacher! Leave us kids alone!
All in all, youre just another brick in the wall
All in all, youre just another brick in the wall
Wrong, do it again!
Wrong, do it again!
If you dont eat your meat, you cant have any pudding!
How can you have any pudding if you dont eat your meat?
You! Yes! You behind the bike sheds! Stand still, laddie!
(If you dont eat your meat, you cant have any pudding!
How can you have any pudding if you dont eat your meat?)
Children playing
Phone beeping sound


Money, get away
You get a good job with more pay and youre okay
Money, its a gas
Grab that cash with both hands and make a stash
New car, caviar, four-star daydream
Think Ill buy me a football team
Money, get back
Im alright, Jack, keep your hands off of my stack
Money, its a hit
Ah, dont give me that do-goody-good bullshit
Im in the high-fidelity first class travelling set
And I think I need a Learjet
Money, its a crime
Share it fairly, but dont take a slice of my pie
Money, so they say
Is the root of all evil today
But if you ask for a rise, its no surprise
That theyre giving none away
Away, away, away
Away, away, away
Away, ooh...
- Yeah -- -- I was in the right!
- Yes, absolutely in the right!
- I certainly was in the right!
- Yeah, I was definitely in the right; that geezer was cruising for a bruising...
- Yeah
- Why does anyone do anything?
- I dont know, I was really drunk at the time...
- I was just telling him it was in, he could get it in number two. He was asking why it wasnt coming up on fader eleven. After, I was yelling and screaming and telling him why it wasnt coming up on fader eleven. It came to a heavy blow, which sorted the matter out


The lunatic is on the grass
The lunatic is on the grass
Remembering games and daisy chains and laughs
Got to keep the loonies on the path
The lunatic is in the hall
The lunatics are in my hall
The paper holds their folded faces to the floor
And every day the paperboy brings more
And if the dam breaks open many years too soon
And if there is no room upon the hill
And if your head explodes with dark forebodings too
Ill see you on the dark side of the moon
The lunatic is in my head
The lunatic is in my head
You raise the blade
You make the change
You rearrange me till Im sane
You lock the door
And throw away the key
And theres someone in my head but its not me
And if the cloud bursts, thunder in your ear
You shout and no one seems to hear
And if the band youre in starts playing different tunes
Ill see you on the dark side of the moon
I cant think of anything to say except
Hahahahahahaha!
I think its marvellous!
Hahaha...


Breathe, breathe in the air
Dont be afraid to care
Leave but dont leave me
Look around and choose your own ground
For long you live and high you fly
And smiles youll give and tears youll cry
And all you touch and all you see
Is all your life will ever be
Run, rabbit, run
Dig that hole, forget the sun
And when at last the work is done
Dont sit down, its time to dig another one
For long you live and high you fly
But only if you ride the tide
And balanced on the biggest wave
You race towards an early grave


Remember when you were young
You shone like the Sun
Shine on, you crazy diamond
Now theres a look in your eyes
Like black holes in the sky
Shine on, you crazy diamond
You were caught in the crossfire of childhood and stardom
Blown on the steel breeze
Come on, you target for faraway laughter
Come on, you stranger, you legend, you martyr, and shine
You reached for the secret too soon
You cried for the Moon
Shine on, you crazy diamond
Threatened by shadows at night
And exposed in the light
Shine on , you crazy diamond
Well, you wore out your welcome with random precision
Rode on the steel breeze
Come on, you raver, you seer of visions
Come on, you painter, you piper, you prisoner, and shine


Hey you
Out there in the cold, getting lonely, getting old
Can you feel me?
Hey you
Standing in the aisles with itchy feet and fading smiles
Can you feel me?
Hey you
Dont help them to bury the light
Dont give in without a fight
Hey you
Out there on your own, sitting naked by the phone
Would you touch me?
Hey you
With your ear against the wall, waiting for someone to call out
Could you touch me?
Hey you
Would you help me to carry the stone?
Open your heart, Im coming home
But it was only fantasy
The wall was too high, as you can see
No matter how he tried, he could not break free
And the worms ate into his brain
Hey you
Out there on the road, always doing what youre told
Can you help me?
Hey you
Out there beyond the wall, breaking bottles in the hall
Can you help me?
Hey you
Dont tell me theres no hope at all
Together we stand, divided we fall


Us and them
And after all were only ordinary men
Me and you
God only knows its not what we would choose to do
Forward he cried from the rear
And the front rank died
The general sat and the lines on the map
Moved from side to side
Black and blue
And who knows which is which and who is who
Up and down
And in the end its only round and round, and round
Havent you heard its a battle of words?
The poster bearer cried
Listen, son, said the man with the gun
Theres room for you inside
I mean, theyre not gonna kill ya
So like, if you give em a quick short, sharp, shock
They wont do it again
Dig it? I mean he got off lightly
Cause I wouldve given him a thrashing
I only hit him once!
It was only a difference of opinion
But really, I mean good manners dont cost nothing do they, eh?
Down and out
It cant be helped but theres a lot of it about
With , without
And wholl deny its what the fightings all about?
Out of the way, its a busy day
Ive got things on my mind
For want of the price of tea and a slice
The old man died


You, you hate, you hate me
You, you hate, you hate me
You, you hate, you hate me
You, you hate, you hate me
You, you hate, you hate me, you hate me
You hate me to say, you hate me to say
You hate me to say and I did not obey
Will you until death does sever
Be upright to her forever?
Never, never
Will you until death does sever
Be upright to her forever?
Never, never
Du, du hast, du hast mich
Du, du hast, du hast mich
Du, du hast, du hast mich, du hast mich
Du hast mich gefragt, du hast mich gefragt
Du hast mich gefragt und ich hab nichts gesagt
Will you until death does sever
Be upright to her forever?
Never, never
Will you til death be her rider
Her lover too, to stay inside her?
Never, never
Will you until death does sever
Be upright?
Never, never


I like to fuck, but no French letter
Without a condom, the sex is better
But every time I get it in
A baby cries and sometimes twins
I have six kids and I dont like it
They eat too much and treat me like shit
They only wear Posh label clothes
If you give one hand, they bite off both
And all my friends, they have big cars
Big mansions, too, and smoke the fine cigars
They have deep pockets, I dont know why
I look in my purse and start to cry
Why?
I hate my life, and I hate you
I hate my wife, and her boyfriend, too
I hate to hate, and I hate that
I hate my life so very bad
I hate my kids, never thought
That Id praise abort
Praise abort
Praise abort
I like to fuck, but now French letter
Cause without kids, life is so much better
So in the end, I got forced
To stay away from female intercourse
I hate my life, and I hate you
I hate my wife, and her boyfriend, too
I hate to hate, and I hate that
I hate my life so very bad
I hate my kids, never thought
That Id praise abort
Praise abort
Praise abort
Say goodbye, say goodbye
We rise up, up to the sky
Say goodbye, well come back
Soon as pretty butterflies
Make you cry
I hate my life, and I hate you
I hate my wife, and my boyfriend, too
I hate to hate, and I hate that
I hate myself so very bad
I hate my offspring, never thought
That Id praise abort
I praise abort
I praise abort


This 2 hr Mohnish Pabrai lecture is better than 90% of my Ivy League Investing Classes

Mohnish Pabrai is the Warren Buffett of India (or maybe Warren Buffett is the Mohnish of India). In [this](https://youtu.be/9tGjXPhnp-s) video he lays out the 10 Commandments of investing in clear, plain language. Useful for casual investors or for someone looking to start their own fund some day.

Recommend listening on 1.5 speed.


Keep averaging down or wait?

So there's obviously a lot going on right now in the world between inflation, interest rates, and the Ukraine conflict. The usual advice is just keep averaging down and if your time frame is long enough it won't matter, but that being said it'll certainly sting a little to keep buying if we are headed south for the next couple years. How does everyone feel right now in this climate and are you doing or considering doing anything differently?


GDP Unexpectedly contracts in Q1 2022

[https://www.bea.gov/sites/default/files/2022-04/gdp1q22\_adv.pdf](https://www.bea.gov/sites/default/files/2022-04/gdp1q22_adv.pdf)

&#x200B;

 **DP annualized, quarter-over-quarter:** \-1.4% vs. 1.0% expected

&#x200B;

The decrease in real GDP reflected decreases in private inventory investment, exports, federal government spending, and state and local government spending, while imports, which are a subtraction in the calculation of GDP, increased. Personal consumption expenditures (PCE), nonresidential fixed investment, and residential fixed investment increased (though not as much as expected).


In conditions of high inflation, gold shines more than ever.

The inflation is rising faster that even I thought. But what is [inflation](https://www.investopedia.com/terms/i/inflation.asp)?  Contrary to common belief, inflation is not rising prices. The prices  of goods measured in money i.e. gold or silver are pretty much the same if not lower than they were 60 years ago.

Inflation is the loss of the purchasing power by a currency. Currency. What we  have in our pockets is not money. It's currency. It has been like that  since '60s when the world decided to switch to paper because... well,  nobody knows why. It doesn't make sense to pay with inflatable paper.  Before that we had money. It was gold and silver for thousands of years  in comparison with just 60 years of FIAT(paper currency). Now, for a  silver half dollar before 1965 you have to pay more than 20 times more  of its face value in fake dollars. Read that outloud for yourself. It  sounds funny.

I believe that with  offical inflation at 8,5% (we all know that this is a lie) the system  and what I call "The Great Fiat Experminent" are doomed to fall apart.  We're well beyond the point of beginning of the process. How many years  will it take to crash completely? Nobody knows. But one thing is sure.  It will end. History shows that there's not been a single paper currency  in the world that survived.

 Look how gold has risen since abandoning the precious metals standard:

[https://www.gold.org/goldhub/data/gold-prices?gclid=CjwKCAjw9qiTBhBbEiwAp-GE0RE659EmfOrZCtxgjlcihDeccZ4ZCq8EpmuOiw9LZx8GiwUA1W1ITxoCIv4QAvD\_BwE](https://www.gold.org/goldhub/data/gold-prices?gclid=CjwKCAjw9qiTBhBbEiwAp-GE0RE659EmfOrZCtxgjlcihDeccZ4ZCq8EpmuOiw9LZx8GiwUA1W1ITxoCIv4QAvD_BwE)

 You, English speakers even say: "As good as gold". And, indeed, it is  good. Pandemic, war, hyperinflation, you name it. It's a long term investment  counted in years but is safe and reliable.

I would say that physical silver is even a better investment due to its insane ratio of "paper to physical" (345:1) on COMEX.

Please educate yourselves and your dearest. This post only scratches the surface. Some more info:

[https://www.youtube.com/watch?v=DyV0OfU3-FU](https://www.youtube.com/watch?v=DyV0OfU3-FU)

 "When money dies" by Adam Fergusson

[https://www.reddit.com/r/Wallstreetsilver/comments/nwzadx/a\_comprehensive\_compilation\_of\_all\_due\_diligence/](https://www.reddit.com/r/Wallstreetsilver/comments/nwzadx/a_comprehensive_compilation_of_all_due_diligence/)


Daily General Discussion and Advice Thread - April 28, 2022

Have a general question?  Want to offer some commentary on markets?  Maybe you would just like to throw out a neat fact that doesn't warrant a self post?  Feel free to post here!

If your question is "I have $10,000, what do I do?" or other "advice for my personal situation" questions, you should include relevant information, such as the following:

* How old are you? What country do you live in?
* Are you employed/making income? How much?
* What are your objectives with this money? (Buy a house? Retirement savings?)
* What is your time horizon? Do you need this money next month? Next 20yrs?
* What is your risk tolerance? (Do you mind risking it at blackjack or do you need to know its 100% safe?)
* What are you current holdings? (Do you already have exposure to specific funds and sectors? Any other assets?)
* Any big debts (include interest rate) or expenses?
* And any other relevant financial information will be useful to give you a proper answer.

Please consider consulting our FAQ first - https://www.reddit.com/r/investing/wiki/faq
And our [side bar](https://www.reddit.com/r/investing/about/sidebar) also has useful resources.

Be aware that these answers are just opinions of Redditors and should be used as a starting point for your research. You should strongly consider seeing a registered financial rep before making any financial decisions!


CN1C(=O)C(=Cc2occc2C(=O)c2ccc(-c3ncc(C4=CC=CC5N=C(F)C(F)=NC45)cn3)s2)C(=O)N(C)C1=O


Works fine for my new Samsung Galaxy S3

Works great. No problems with my Samsung Galaxy S3.  It charges with no problems.  It lights up when it is charging.


Good phone

First of all it is a good phone but I will tell what is lacks. It could have a few more features that can make it the best in the market. First no voice dial most new phones have it the phone. I had a panasonic in 2001 which had it. The external display can show a few more details than it does. It doesnot display the missed calls for more than 30 secs. One doesnt realise that they have missed call unless they open the phone. This is annoying. The manual is abysmally inadequate. It doesnt tell how to take self potraits or use the IR port. It doesnot tell how to delete wall papers or ringtones uploaded. Well I guess people like me who like to do things wihtout reading the manual can have a field day with this phone. Also it has a lot of ringtones, but i guess samsung has the impression that every body wants musical ringtones, and there are no ringtones in built which dont use its 40 polyphonic chord ringer except for the silly tmobile jingle. The pictures taken by the phone in low light have a reddish tinge to them.The display is very vibrant and is very bright. The sound quality is also very good. It has a great antenna (internal) I have crystal clear calls even in my basement where most of my other phones have lost the signal. The phone also has a very loud ringer which has an adjustable volume. The camera is great, the best I have seen on any phone. It has almost 9 megs of memory on but it is not shared among ringtones, the photos and the messages. I wish it had a memory card slot so that I could take a few more pictures at max resolution.Well if you want a fancy looking phone with loads of features i would recommend the Sony Ericsson T610. That phone leaves the sgh-e715 eating its dust. Also it is as heavy as this one and it has a lot of desirable features and it is cheaper than this one. But in spite of the all the things I do not like about the phone I will not return this phone because of the manual. It really allows me to play with the phone to discover new things. I really wanted to give it 3.5 * but amazon doesnt let me do that.


If you have a charger already...

Bought this SPECIFICALLY because I have a Motorola car charger already, AND a 3.5 mm AUX cable, so who needs to pay for ANOTHER one?  I didn't.  Don't know why folks are complaining, comes WITH a 3M foam backed dash mounting disk, and EVERYTHING you need to mount your phone.  My Droid Razr Maxx, went in, the car nav/music big clunky button app came up, and I was, pardon the pun, READY TO ROLL!  Anyway, if you want a place to put your Razr Maxx in the car, you HAVE all the cables, THIS is it!  Exceeded expectations...and the rest of you folks...READ THE PRODUCT DESCRIPTION FIRST!


Terrible fit

Very disappointed in the fit of this case.  I would not recommend....... I will not make the mistake in not reading the reviews for the next purchase I make.


Nice

Snug fit. Sharp looking. Nice grip. Not thrilled with the screen protector. It bubbles quite a bit but replacing this part is no big deal. Here's a tip: If you're going to take this case off then start at a corner at the top and pop it off. Then go to the bottom and pop off another corner of the case. This will help to lessen your chances of breaking the case as mentioned in some other reviews.


Didn't work right out of the package

I bought these to use with an iPad. First, they didn't go into the Lightning port when it was in the case. (The Lightning end is too big for the opening in the case.) Okay, take it out of the case and try again. The cable went all the way in, but no indication the iPad was plugged in. Swapped it for my old cable and everything was fine.Nice idea, solid-looking cables, but they just didn't work.


Really good for Tracfone but some weird quirks

I ordered this phone here on Amazon and soon after activating it and transferring my phone number and minutes, I had a weird "black screen of death" as I like to call it.  It was a black screen with orange letters going on about an error code.  I could not get the phone to respond to me at all, then eventually, it would reboot itself and all was fine.  After this kept happening I got fed up and contacted Tracfone and they kindly replaced the phone for me.  My replacement arrived quickly and I sent back the defective phone.My replacement phone works great.  I love how slim it feels.  I like the keys and find it much easier to text with than the LG800G I had before. THe LG800G was dying and no longer covered by Tracfone so I needed a new phone.WiFi works great.  I have not had any major problems with it. You just need to activate the wifi and connect to a wireless network, otherwise you use your minutes to connect instead.  I was able to transfer files via bluetooth easily to and from my old phone, from my boyfriend's phone and from my MacBook.Pros:- Light, slim, nice qwerty keys, great for phone calls and texting, bluetooth works great, camera is nice, wifi works great. It is pretty sturdy. I have dropped it a couple times and it held up well. Triple minutes for life!Cons:- Sometimes, when I dial a phone number, the numbers change order randomly.  I have to scroll through to put them back in the order I need.  Odd glitch that only happens with certain number combinations. Very odd.- When the phone is locked, 911 is dialed if 000 is hit and then OK.  This setting cannot be changed.  I always keep my phone locked in my purse or pocket and have had my phone put calls into 911 at least 3 times from my purse.  I have had to call them back and apologize and am lucky they didn't get angry for the false calls.******************Update as of 2/20/13*******************I had way too many pocket or purse dials to the emergency line so I contacted Tracfone.  First, they didn't understand what I was saying and had me reset factory settings on the phone.  Then they said I needed to call them back when I had a 2nd line to go through troubleshooting steps.  I called them back to be told, oh this is a feature of the phone and it can't be turned off.  Isn't that what I tried to tell them in the first place? Ugh.  They said there was nothing they could do so I told them, it looks like I need to buy a new phone.  I am bummed because I really like a lot about this phone but I just can't deal with the quirk that frankly, can get me in a lot of trouble if I don't stop purse-dialing 911.


Where have you been my whole life?!

I am so incredibly impressed with this product. I was actually surprised on how much I love it. I was at first dismayed at the lack of color choices for the SIII (I mean really, how typical that Apple users get all the cool colors and us Android folks are left with boring white. Unfair!) Aside from lack of case options I have absolutely no regrets. The pad itself is really small and sleek. It looks GOOD on the table next to the door. It has little stickies on the bottom to keep it in place which is also nice.  The wire that leads from the charging pad to the wall is unobtrusive and even has a little built in cord winder which I thought was a great touch.Aside from that it is super easy to set up- plug in the pad, stick on the case and you're good to go. If you're on the fence and hate wires I would strongly suggest that you buy this- it's amazing!


home video (cheap) solution

For the kids school concerts/events this lens gets me close enough for home video footage. I didn't want to buy a separate video camera just for those "distant" events, since it's just one more thing to lug around and keep track of. I have a "Windows" HTC Arrive phone with some video stabilization, which is definitely needed for 8X optical zoom. I don't see any distortion or lighting issues that others have mentioned, although any zoom lens will typically require more light. My phone may automatically adjust for this and so I don't notice it.The spring loaded lens holder is not very tight and will move if bumped (thus not 5 stars)...and is difficult to re-align without unscrewing the lens and then screwing it back on again. To solve this problem I drew a few lines on my phone with a black marker and use those to re-align and it seems to work fine.When done, I pull off the holder and lens and put it in a zip-lock sandwich bag in my pocket.


As Expected!

Recived this phone. Works perfect. No problems. Have not yet checked the unlocked part as I plan to use internationally when I travel with other countries sim cards in the phone I. Works perfect with the prepaid tmob acct- $70/month for unlimited data, text, talk. Thats the best deal around. Buy an iphone and pay perhaps $120 or more for the same services (probably much more actally) or this. Pay for the phone in a few months. Insurder it for $58/yr with ensquared. DId an amazing amount of research and feel this is the best bang for the buck. The near $400 is tough upfront, but its the best investment youll make.  Have to admit comming from Itunes and iphone, Android is not as easy and more fiddly, but also more customizable. My previous tmobile pay as you go sim went right in and then I upgraded that acct to the all you can have acct online without talking to anyone. Very easy and quick, same number and all. Would recommend this phone and plan.


Summary: more than 50 pupils at a bristol academy have been sent home from school because of a lack of uniform.


Summary: the wife of a british-iranian woman jailed in iran has called on the government to appeal against her conviction.


Summary: police searching for a greenock woman who has been missing for more than a decade have launched a fresh search for her.


Summary: aberdeen have appointed arbroath boss paul sheerin as their new manager.


As mentioned above, through Honor MagicWatch 2 we can also talking on the phone.

Come detto in precedenza, tramite Honor MagicWatch 2 potremo anche parlare al telefono.


In ancient times, theories touting the magical powers of diamonds were prevalent: some thought lightning bolts formed diamonds, while other theories asserted that diamonds were the tears of god.

Teorie antiche reclamizzano i poteri magici dei diamanti che li rendevano ricercatissimi: alcuni pensavano diamanti si formavano dai fulmini, mentre altre teorie affermavano che i diamanti fossero le lacrime del dio.


Input: Bitcoin is for $7,094 this morning, which CoinDesk says.

Output: Bitcoin goes for $7,094 this morning, according to CoinDesk.


Input: The effect of widespread dud targets two face up attack position monsters on the field.

Output: 1. The effect of "widespread dud" targets two face up attack position monsters on the field.


Input: tax on sales of stores for non residents are set at 21% for 2014 and 20% in 2015 payable on sales tentatively earned from the difference of the property value some time of purchase (price differences according to working time) and theyear to which sale couples (sales costs), based on the approved annual on the base approved by law).

Output: Capital Gains tax on the sale of properties for non-residents is set at 21% for 2014 and 20% in 2015 payable on profits earned on the difference of the property value between the year of purchase (purchase price plus costs) and the year of sale (sales price minus costs), based on the approved annual percentage increase on the base value approved by law.


Input: Much many brands and sellers still in the market.

Output: Many brands and sellers still in the market.


Input: this is is the latest Maintenance release of Samba 3.6

Output: This is is the latest maintenance release of Samba 3.6.


Input: Fairy Or Not, I'm the Godmother: no just look, but my outfit for taking the part as godmother.

Output: Fairy Or Not, I'm the Godmother: Not just a look, but my outfit for taking on the role as godmother.


Input: Watcch as this Dodge Challenger Hellcat gets smoked by a Tesla Model S - with the drag strip.

Output: Watch as this Dodge Challenger Hellcat gets smoked by a Tesla Model S at the drag strip.


Input: Momover, these devices have been proven to help consumers during another company his information.

Output: Moreover, these devices are proven to help consumers while another company that information.


Input: Worthless involved's supporting for the movement.

Output: Get involved and help the movement!


PPSFIHKPDPQEVLPGSNVKFTSVVTGTAPLKVSWFKGTTELVAGRQCYISLSDSTAILELLNVESSQSGDYICQVSNEAGKVSCTTKLFVKEPAVFQKKLKDCSVVLGKSVCLDCTYTGTPEIKVSWKKNGLVIFQSDKHIL


two giraffes standing in a tree filled area.


a white vase filled with different colored flowers.


a lone zebra grazing in some green grass.


a pair of horses performing tricks in a field.


there are people riding elephants in the middle of a forest


a clock is seen in front of a tall tree.


a train coming down the tracks in the city.


two giraffes hang out near trees and nuzzle up to each other.


group of boys performing skateboard trick on ramp with graffiti on it


A stirring, funny and finally transporting re-imagining of Beauty and the Beast and 1930s horror films


Apparently reassembled from the cutting-room floor of any given daytime soap.


They presume their audience won't sit still for a sociology lesson, however entertainingly presented, so they trot out the conventional science-fiction elements of bug-eyed monsters and futuristic women in skimpy clothes.


This is a visually stunning rumination on love, memory, history and the war between art and commerce.


Jonathan Parker's Bartleby should have been the be-all-end-all of the modern-office anomie films.


Campanella gets the tone just right -- funny in the middle of sad in the middle of hopeful.


A fan film that for the uninitiated plays better on video with the sound turned down.


A little less extreme than in the past, with longer exposition sequences between them, and with fewer gags to break the tedium.


The film is strictly routine.


Context: Since the IPCC does not carry out its own research, it operates on the basis of scientific papers and independently documented results from other scientific bodies, and its schedule for producing reports requires a deadline for submissions prior to the report's final release. In principle, this means that any significant new evidence or events that change our understanding of climate science between this deadline and publication of an IPCC report cannot be included. In an area of science where our scientific understanding is rapidly changing, this has been raised as a serious shortcoming in a body which is widely regarded as the ultimate authority on the science. However, there has generally been a steady evolution of key findings and levels of scientific confidence from one assessment report to the next.[citation needed]

Question: Who is seen as the ultimate climate change authority?


Context: After al-Nimeiry was overthrown in 1985 the party did poorly in national elections, but in 1989 it was able to overthrow the elected post-al-Nimeiry government with the help of the military. Turabi was noted for proclaiming his support for the democratic process and a liberal government before coming to power, but strict application of sharia law, torture and mass imprisonment of the opposition, and an intensification of the long-running war in southern Sudan, once in power. The NIF regime also harbored Osama bin Laden for a time (before 9/11), and worked to unify Islamist opposition to the American attack on Iraq in the 1991 Gulf War.

Question: What did the NIF try to unify Islamist opposition against?

American attack on Iraq
the American attack on Iraq
American attack on Iraq


Context: For the first time, the Super Bowl 50 Host Committee and the NFL have openly sought disabled veteran and lesbian, gay, bisexual and transgender-owned businesses in Business Connect, the Super Bowl program that provides local companies with contracting opportunities in and around the Super Bowl. The host committee has already raised over $40 million through sponsors including Apple, Google, Yahoo!, Intel, Gap, Chevron, and Dignity Health.

Question: How much money has been raised by the host committee?

$40 million
over $40 million
$40 million


Context: In December 1901, Marconi successfully transmitted the letter S from England to Newfoundland, terminating Tesla's relationship with Morgan.[improper synthesis?] Over the next five years, Tesla wrote over 50 letters to Morgan, pleading for and demanding additional funding to complete the construction of Wardenclyffe. Tesla continued the project for another nine months. The tower was erected to its full 187 feet (57 m). In July 1903, Tesla wrote to Morgan that in addition to wireless communication, Wardenclyffe would be capable of wireless transmission of electric power. On 14 October 1904, Morgan finally replied through his secretary, stating, "It will be impossible for [me] to do anything in the matter," after Tesla had written to Morgan when the financier was meeting with the Archbishop of Canterbury in an attempt to appeal to his Christian spirit.

Question: How much correspondence did Tesla send Morgan in the five years following 1901?

over 50 letters
over 50 letters
50 letters


Context: European Union law is a body of treaties and legislation, such as Regulations and Directives, which have direct effect or indirect effect on the laws of European Union member states. The three sources of European Union law are primary law, secondary law and supplementary law. The main sources of primary law are the Treaties establishing the European Union. Secondary sources include regulations and directives which are based on the Treaties. The legislature of the European Union is principally composed of the European Parliament and the Council of the European Union, which under the Treaties may establish secondary law to pursue the objective set out in the Treaties.

Question: What is European Union Law?


Context: If the input size is n, the time taken can be expressed as a function of n. Since the time taken on different inputs of the same size can be different, the worst-case time complexity T(n) is defined to be the maximum time taken over all inputs of size n. If T(n) is a polynomial in n, then the algorithm is said to be a polynomial time algorithm. Cobham's thesis says that a problem can be solved with a feasible amount of resources if it admits a polynomial time algorithm.

Question: Whose thesis states that the solution to a problem is solvable with reasonable resources assuming it allows for a polynomial time algorithm?


Context: In addition to those actors who have headlined the series, others have portrayed versions of the Doctor in guest roles. Notably, in 2013, John Hurt guest-starred as a hitherto unknown incarnation of the Doctor known as the War Doctor in the run-up to the show's 50th anniversary special "The Day of the Doctor". He is shown in mini-episode "The Night of the Doctor" to have been retroactively inserted into the show's fictional chronology between McGann and Eccleston's Doctors, although his introduction was written so as not to disturb the established numerical naming of the Doctors. Another example is from the 1986 serial The Trial of a Time Lord, where Michael Jayston portrayed the Valeyard, who is described as an amalgamation of the darker sides of the Doctor's nature, somewhere between his twelfth and final incarnation.

Question: What actor played the Valeyard?

Michael Jayston
Michael Jayston
Michael Jayston


Context: The development of plate tectonics provided a physical basis for many observations of the solid Earth. Long linear regions of geologic features could be explained as plate boundaries. Mid-ocean ridges, high regions on the seafloor where hydrothermal vents and volcanoes exist, were explained as divergent boundaries, where two plates move apart. Arcs of volcanoes and earthquakes were explained as convergent boundaries, where one plate subducts under another. Transform boundaries, such as the San Andreas fault system, resulted in widespread powerful earthquakes. Plate tectonics also provided a mechanism for Alfred Wegener's theory of continental drift, in which the continents move across the surface of the Earth over geologic time. They also provided a driving force for crustal deformation, and a new setting for the observations of structural geology. The power of the theory of plate tectonics lies in its ability to combine all of these observations into a single theory of how the lithosphere moves over the convecting mantle.

Question: The lithosphere moves over which mantle n the theory of plate tectonics?

the convecting mantle
convecting mantle
convecting
convecting


Context: Tesla read many works, memorizing complete books, and supposedly possessed a photographic memory.:33 He was a polyglot, speaking eight languages: Serbo-Croatian, Czech, English, French, German, Hungarian, Italian, and Latin.:282 Tesla related in his autobiography that he experienced detailed moments of inspiration. During his early life, Tesla was repeatedly stricken with illness. He suffered a peculiar affliction in which blinding flashes of light would appear before his eyes, often accompanied by visions.:33 Often, the visions were linked to a word or idea he might have come across; at other times they would provide the solution to a particular problem he had encountered. Just by hearing the name of an item, he would be able to envision it in realistic detail.:33 Tesla would visualize an invention in his mind with extreme precision, including all dimensions, before moving to the construction stage, a technique sometimes known as picture thinking. He typically did not make drawings by hand but worked from memory. Beginning in his childhood, Tesla had frequent flashbacks to events that had happened previously in his life.:33

Question: What other visual phenomena accompanied Tesla's visions?

flashbacks
blinding flashes of light
blinding flashes of light


Arjun Desai, Elka Rubin, Andrew Schmidt, Akshay Chaudhari & collaborators

2021 SKM-TEA Dataset - train

Ligament Tear (Moderate Grade Sprain or Mucoid Degeneration)

Ligament Tear (Full Thickness/Complete Tear)


toujous iba one fo saya tg presidente rap malin internacional


Context: Architecturally, the school has a Catholic character. Atop the Main Building's gold dome is a golden statue of the Virgin Mary. Immediately in front of the Main Building and facing it, is a copper statue of Christ with arms upraised with the legend "Venite Ad Me Omnes". Next to the Main Building is the Basilica of the Sacred Heart. Immediately behind the basilica is the Grotto, a Marian place of prayer and reflection. It is a replica of the grotto at Lourdes, France where the Virgin Mary reputedly appeared to Saint Bernadette Soubirous in 1858. At the end of the main drive (and in a direct line that connects through 3 statues and the Gold Dome), is a simple, modern stone statue of Mary.

Architecturally , the school has a Catholic character . Atop the Main Building 's gold dome is a golden statue of the Virgin Mary . Immediately in front of the Main Building and facing it , is a copper statue of Christ with arms upraised with the legend " Venite Ad Me Omnes " . Next to the Main Building is the Basilica of the Sacred Heart . Immediately behind the basilica is the Grotto , a Marian place of prayer and reflection . It is a replica of the grotto at Lourdes , France where the Virgin Mary reputedly appeared to Saint Bernadette Soubirous in 1858 . At the end of the main drive ( and in a direct line that connects through 3 statues and the Gold Dome ) , is a simple , modern stone statue of Mary .

Question: To whom did the Virgin Mary allegedly appear in 1858 in Lourdes France?

To whom did the Virgin Mary allegedly appear in 1858 in Lourdes France ?

Saint Bernadette Soubirous

Answer: Saint Bernadette Soubirous


Question: What is in front of the Notre Dame Main Building?

What is in front of the Notre Dame Main Building ?

a copper statue of Christ

Answer: a copper statue of Christ


Question: The Basilica of the Sacred heart at Notre Dame is beside to which structure?

The Basilica of the Sacred heart at Notre Dame is beside to which structure ?

the Main Building

Answer: the Main Building


Question: What is the Grotto at Notre Dame?

a Marian place of prayer and reflection

Answer: a Marian place of prayer and reflection


Question: What sits on top of the Main Building at Notre Dame?

What sits on top of the Main Building at Notre Dame ?

a golden statue of the Virgin Mary

Answer: a golden statue of the Virgin Mary


Context: The university is the major seat of the Congregation of Holy Cross (albeit not its official headquarters, which are in Rome). Its main seminary, Moreau Seminary, is located on the campus across St. Joseph lake from the Main Building. Old College, the oldest building on campus and located near the shore of St. Mary lake, houses undergraduate seminarians. Retired priests and brothers reside in Fatima House (a former retreat center), Holy Cross House, as well as Columba Hall near the Grotto. The university through the Moreau Seminary has ties to theologian Frederick Buechner. While not Catholic, Buechner has praised writers from Notre Dame and Moreau Seminary created a Buechner Prize for Preaching.

The university is the major seat of the Congregation of Holy Cross ( albeit not its official headquarters , which are in Rome ) . Its main seminary , Moreau Seminary , is located on the campus across St. Joseph lake from the Main Building . Old College , the oldest building on campus and located near the shore of St. Mary lake , houses undergraduate seminarians . Retired priests and brothers reside in Fatima House ( a former retreat center ) , Holy Cross House , as well as Columba Hall near the Grotto . The university through the Moreau Seminary has ties to theologian Frederick Buechner . While not Catholic , Buechner has praised writers from Notre Dame and Moreau Seminary created a Buechner Prize for Preaching .

Question: Where is the headquarters of the Congregation of the Holy Cross?

Where is the headquarters of the Congregation of the Holy Cross ?

Rome

Answer: Rome


Question: What is the primary seminary of the Congregation of the Holy Cross?

What is the primary seminary of the Congregation of the Holy Cross ?

Moreau Seminary

Answer: Moreau Seminary


Question: What is the oldest structure at Notre Dame?

What is the oldest structure at Notre Dame ?

Old College

Answer: Old College


Question: What individuals live at Fatima House at Notre Dame?

What individuals live at Fatima House at Notre Dame ?

Retired priests and brothers

Answer: Retired priests and brothers


Question: Which prize did Frederick Buechner create?

Which prize did Frederick Buechner create ?

Buechner Prize for Preaching

Answer: Buechner Prize for Preaching


Input: [0] Su [6-9 AM] Not Available [12-3 PM] Available [3-6 PM] Not Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] Mo [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] Tu [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] We [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] Th [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] Fr [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Available [6-9 PM] Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Imelda A. - Wilder Babysitter - Sittercity.com


Input: [0] Sa [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Available [9-12 PM] Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Imelda A. - Wilder Babysitter - Sittercity.com


xx yy


lucky fuck


High Sex Is The Best Sex


Two hot tranny anal fuck each others ass Views: 1,340


BLACKWOOD'S EDINBURGH MAGAZINE NO


JANUARY 1843


CONTENTS GREAT BRITAIN AT THE COMMENCEMENT OF THE YEAR 1843 LESURQUES; OR THE VICTIM OF JUDICIAL ERROR CALEB STUKELY PART X


IMAGINARY CONVERSATION


BY WALTER SAVAGE LANDOR TASSO AND CORNELIA THE WORLD OF LONDON SECOND SERIES PART I


THE DREAM OF LORD NITHSDALE TWO HOURS OF MYSTERY THE EAST AND SOUTH OF EUROPE THE CURSE OF GLENCOE


BY B


Hey, you little piss baby
You think youre so fucking cool? Huh?
You think youre so fucking tough?
You talk a lotta big game for someone with such a small truck
Aw, look at those arms
Your arms look so fucking cute, they look like lil cigarettes
I bet I could smoke you, I could roast you
And then youd love it and youd text me I love you
And then Id fucking ghost you
With the big boys coming with the big stuff
I feel so clean like a money machine, oh yeah
Big boys coming with the big trucks
Feel so clean like a money machine, oh yeah
Big boys coming with the big trucks
Feel so clean like a money machine, oh yeah
Big boys coming with the picture
Feel so clean like a money machine, oh yeah
Feel so clean like a money machine
Feel so clean like a money machine
Feel so clean like a money machine
Feel so clean like a money machine
Tell me whats the deal, Ive been tryin to go to bed
Ive been up for days, Ive been tryna get ahead
Said it all before, and Ill say it once again
Im better off alone
Tell me whats the deal, Ive been tryin to go to bed
Ive been up for days, Ive been tryna get ahead
Said it all before, and Ill say it once again
Im better off alone
With the big boys coming with the big stuff
I feel so clean like a money machine, oh yeah
Big boys coming with the big trucks
Feel so clean like a money machine, oh yeah
Big boys coming with the big trucks
Feel so clean like a money machine, oh yeah
Big boys coming with the picture
Feel so clean like a money machine, oh yeah
Feel so clean like a money machine
Feel so clean like a money machine
Feel so clean like a money machine
Feel so clean like a money machine


I was tryin to find a way to kill time
I didnt even get to tell you goodbye
I was tryin to find a way to kill time
Now youre gone and I cant ever say goodbye
This feelings going to my head, Im thinking things I shouldnt say
You circled me inside my room, I couldnt go another day
This feelings going to my head, Im thinking things I shouldnt say
You circled me inside my room, I couldnt go, go, go, go
Oh my god, what the fuck? Take my hand, crush it up
Spill the blood on the floor, I aint scared, think theres more
What the fuck? Make it stop, took too long, here right now
On the floor, in the car, smoking cigs in the bar
I dont want you to think I got bad intentions
Never wanted you inside, you made it your mission, yeah
Didnt wanna hurt no one
But you just went and made it fun, fun, fun, fun
I hear youre lookin for a way to fight the Corpus bride
Shes workin in my mind
And youre lookin for a way to crush, its not enough
You fucked up your last try
We were in the studio, I was just playin
You were all work and I was all play and
You were talkin business, aiming with your weapon
I was on your hit list, I felt the compression
Ill never go, Ill haunt your studio
You wont think of words when you write it up
Youll just hear me singing this song
Youll think thats okay, youll just sing along
You just copy everything we do
If I wasnt me, Id copy me too
You just copy everything we do
If I wasnt me, Id copy me too


Pick it up!
Bet my money on a stupid horse, I lost that
So I ran out to the track to get my cash back
I just gotta leave this place with a big bag
So I found the fuckin jockey and I grabbed that
Pushed him down to the ground and I punched him in his face
Yeah, I stole his phone, that put him in his place
Me and the horse, we ran out of the place
Then we drove my Porsche back to my place
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account
Woo, pick it up!
Stupid horse and a swordfish dancer
Spending my money on a fishnet carousel
Go, go, go, go, go so fast now
Go, go, go, go, go so fast now
Racing horses at the derby
Why am I never getting lucky?
I never have any money
I never win any money
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account, oh no
Stupid horse, I just fell out of the Porsche
Lost the money in my bank account


My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I answer
27 missed calls lightin up my cell phone
Sending you a text sayin, Call you when I get home
Taking off my work clothes, workin in a cold one
45 group texts, 50 group DMs
Send another text askin me if Ive seen them
Pushin back a deadline, gotta make my bedtime
Then I crack a smile, cause I love you and Id do it all again
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I answer
Somethings gotta work this time
Its my way of trying to let you know
Ive got a little thing for you
Ive got a little crush or somethin
Maybe Im just drunk as fuck
I customize my ringtone
But its always you
Its always you
Its always you
Its always you
Its always you
It was always you
Put it on vibrate when Im with you
Talkin to myself again
Falling on broken glass
29 missed calls, never leave the basement
I dont wanna tell you what Im really thinking
Thinking, what Im really thinking
Thinking, what Im really thinking
Used to love that ringtone when you called me
Now it makes me sick
Used to love that ringtone when you called me
Now it makes me sick
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I answer
My boys got his own ringtone
Its the only one I know, its the only one I know
My boys got his own ringtone
Its the only one I know, its the only one I answer


Im just staring at my empty cans that sprawl across my floor
Im smoking dope in empty cans I got from corner stores
Theres broken glass from broken pieces lying in my sink
Ill wash them down with water getting harder ending blinks
Ill hang with this old feeling, treat it like another friend
Well sit and watch some YouTube videos, were staying in
Well feed a doggo playing looking good with new veneer
Then end the night in covers, whisper nothings in my ear
Dont say its personal
Cause Im fine, I can do anything
I dont need you
I dont need you
Ive got bloodstains in my bathtub, Ive got vomit on my floor
Ive got Popov in my vomit, smell it as I leave my door
Ive got three cans of Four Loko just to go and see your face
Going through it every weekend just to Steven leave my place
Its really just a doggo feeling shy about their teeth
Im walking feeling fall, I might just catch a falling leaf
Ill catch it in my mouth and Ill refuse to tear it up
Ill take it home and put it on my table in a cup
I notice it looks good, sitting next to all my empty shit
Ill clean just a little, just to show it to my friend
Ill notice that theyre leaving, but they leave their bags unpacked
They say its nothing major and they promise to be back
Dont say its personal
Cause Im fine, I can do anything
I dont need you
I dont need you
Ive got bloodstains in my bathtub, Ive got vomit on my floor
Ive got Popov in my vomit, smell it as I leave my door
Ive got three cans of Four Loko just to go and see your face
Going through it every weekend just to Steven leave my place


I make my money on my own, yeah
Wakin up five in the morning, yeah
Throwin money in the oven, yeah
Fuck sleep and his cousin, yeah
Ive been on a roll, yeah
I spend my money like its stolen, yeah
Shit, Im already broke and its only 7:45 in the morning, yeah
Goddamn, what the fuck?
Feel like Im not good enough
Get off of me, I swear Ill do it all
Do it all, do it all
I can swear I can do it all
Do it all, do it all
I can swear I can do it all
Im done trying, new plan
Do what I want, dont hold my hand
I can do anything I want, first try
You take like ten tries, hurtin my eyes
Batshit, got a check and I spent it
Money got me feelin like a dentist
I can do anything I put my mind to
You cant do anything even if you wanted to
I make my money on my own, yeah
Wakin up five in the morning, yeah
Throwin money in the oven, yeah
Fuck sleep and his cousin, yeah
Ive been on a roll, yeah
I spend my money like its stolen, yeah
Shit, Im already broke and its only 7:45 in the morning, yeah
Goddamn, what the fuck?
Feel like Im not good enough
Get off of me, I swear Ill do it all
Do it all, do it all
I can swear I can do it all
Do it all, do it all
I can swear I can do it all


Baby, you know that I got ya
I would never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day youve got me oh, feeling like
Baby, you know that I got ya
I could never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day, you got me oh, feeling like
Baby, you know that I got ya
I would never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day, you got me always feeling like
Baby, you know that I got ya
I would never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day, you got me always feeling like
I would never stop you
Giving my heart for you to take
We could go and drive and leave this place
Getting my strength from your embrace
Baby, lets go all the way
Giving my heart for you to take
We could go and drive and leave this place
Getting my strength from your embrace
Baby, lets go all the way
Baby, you know that I got ya
I would never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day, you got me always feeling like
Baby, you know that I got ya
I would never stop you
I would never stop you
Cause you know Im crazy
Crazy for you, baby
And you gotta know
Every day, you got me always feeling like
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay, bay, bay, bay, bay, bay
Bay, bay, bay
Bay-bay-bay, bay, bay
Bay-bay-bay, bay, bay
Bay-bay-bay, bay, bay
Bay-bay-bay


I look outside and see your bright eyes
I dont know if I can get to you
Dont know if Ill be back
I dont know how to be alone
Im always looking at the phone
 Waiting for your call
I can see it right now
Youre sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
I needed this more than you will ever know
I needed this more than you will ever know
Dishes are piling up
But thats cool
Cause at least we got food
Yeah, everything is pilin up
But thats cool, thats cool
Cause at least I got you, I got you, I got you
Tell me that you dont want to bug me
Ill tell you, Baby, bein here is nothing
Call me anytime youre feelin lonely
And Im running home to be with you
I can see it right now
Youre sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Dishes all accounted for
Got about a counter full
Yeah, Im always out of bounds
Yeah, Im not responsible
But Im always counted for
Fuckin up but riding home
Corner store to studio
To work and then Im back to you
Now
Youre sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?
Sitting all alone, and you call me on the phone
And you say, I need love, can you get to me now?


lat ___ '52\\",\\"address_1\\":\\"Cnr International Rd \\\\u0026 High Street (Near IGA \\\\u0026 Guzman)\\",\\"address_2\\":\\"\\",\\"latitude\\":\\"-<TARGET_LAT>\\",\\"localized_multi_line_address_display\\":[\\"Cnr International Rd \\\\u0026 High Street (Near IGA \\\\u0026 Guzman)\\",\\"Kensing'


American_Football_Conference

the american football conference (afc) is one of the two conferences of the national football league (nfl). this conference and its counterpart, the national football conference (nfc), currently contain 16 teams each, making up the 32 teams of the nfl. ==current teams== since 2002, the afc has 16 teams, organized into four divisions each with four teams: east, north, south and west. {| class="wikitable" style="width:100%; text-align:left" ! division ! team ! city/town ! stadium |- ! style=background:white rowspan=4 | east | buffalo bills | orchard park, ny | ralph wilson stadium |- | miami dolphins | miami gardens, fl | sun life stadium |- | new england patriots | foxborough, ma | gillette stadium |- | new york jets | east rutherford, nj | metlife stadium |- ! style=background:white rowspan=4 | north | baltimore ravens | baltimore, md | m&t bank stadium |- | cincinnati bengals | cincinnati, oh | paul brown stadium |- | cleveland browns | cleveland, oh | firstenergy stadium |- | pittsburgh steelers | pittsburgh, pa | heinz field |- ! style=background:white rowspan=4 | south | houston texans | houston, tx | reliant stadium |- | indianapolis colts | indianapolis, in | lucas oil stadium |- | jacksonville jaguars | jacksonville, fl | everbank field |- | tennessee titans | nashville, tn | lp field |- ! style=background:white rowspan=4 | west | denver broncos | denver, co | sports authority field at mile high |- | kansas city chiefs | kansas city, mo | arrowhead stadium |- | oakland raiders | oakland, ca | o.co coliseum |- | san diego chargers | san diego, [[california|ca


Analysis_of_variance

analysis of variance (anova) is a collection of statistical models used to analyze the differences between group means and their associated procedures (such as "variation" among and between groups), developed by r.a. fisher. in the anova setting, the observed variance in a particular variable is partitioned into components attributable to different sources of variation. in its simplest form, anova provides a statistical test of whether or not the means of several groups are equal, and therefore generalizes the t-test to more than two groups. as doing multiple two-sample t-tests would result in an increased chance of committing a statistical type i error, anovas are useful in comparing (testing) three or more means (groups or variables) for statistical significance. ==motivating example== thumb|no fit.thumb|fair fitthumb|very good fitthe analysis of variance can be used as an exploratory tool to explain observations. a dog show provides an example. a dog show is not a random sampling of the breed: it is typically limited to dogs that are male, adult, pure-bred, and exemplary. a histogram of dog weights from a show might plausibly be rather complex, like the yellow-orange distribution shown in the illustrations. suppose we wanted to predict the weight of a dog based on a certain set of characteristics of each dog. before we could do that, we would need to explain the distribution of weights by dividing the dog population into groups based on those characteristics. a successful grouping will split dogs such that a) each group has a low variance of dog weights (meaning the group is relatively homogeneous) and b) the mean of each group is distinct (if two groups have the same mean, then it isn't reasonable to conclude that the groups are, in fact, separate in any meaningful way). in the illustrations to the right, each group is identified as x1, x2, etc. in the first illustration, we divide the dogs according to the product (interaction) of two binary groupings: young vs old, and short-haired vs long-haired (thus, group 1 is young, short-haired dogs, group 2 is young, long-haired dogs, etc.). since the distributions of dog weight within each of the groups (shown in blue) has a large variance, and since the means are very close across groups, grouping dogs by these characteristics does not produce an effective way to explain the variation in dog weights: knowing which group a dog is in does not allow us to make any reasonable statements as to what that dog's weight is likely to be. thus, this grouping fails to fit the distribution we are trying to explain (yellow-orange). an attempt to explain the weight distribution by grouping dogs as (pet vs working breed) and (les